Dev/endianness

- encoder: add a binary.ByteOrder field
- decoder: add a binary.ByteOrder field
- errors: prepend 'binary:' to error messages

don't rely on a global variable in decoding/encoding and put the endianness context inside the (de|en)coders.