Add new functions to pack and unpack C double (serialize and
deserialize):
* PyFloat_Pack2()
* PyFloat_Pack4()
* PyFloat_Pack8()
* PyFloat_Unpack2()
* PyFloat_Unpack4()
* PyFloat_Unpack8()
Document these functions and add unit tests.
Rename functions and move them from the internal C API to the public
C API:
* _PyFloat_Pack2() => PyFloat_Pack2()
* _PyFloat_Pack4() => PyFloat_Pack4()
* _PyFloat_Pack8() => PyFloat_Pack8()
* _PyFloat_Unpack2() => PyFloat_Unpack2()
* _PyFloat_Unpack4() => PyFloat_Unpack4()
* _PyFloat_Unpack8() => PyFloat_Unpack8()
Replace the "unsigned char*" type with "char*" which is more common
and easy to use.