Fixes:
- Fix support for UTF-8 (previously only worked with ASCII);
- Improved safety and error handling;
- Fix memory leaks from lack of cleanup in error cases;
- Fix strict aliasing rules;
- Fix big-endian conversion to little-endian;
Updates:
- Support streaming with files:
* Incrementally read/write data with StreamEncoder/StreamDecoder objects;
* Directly read/write data with the regular encode/decode methods;
* Fully compatible and interchangeable with regular serialization;
- Improve args parsing error messages;
- Change metadata length structure for efficiency;
- Change how singular values (values not within a container) are stored;
- Better endianness handling;