Change flash command data format

It used to be extended type, but binary just makes more sense.
Initial implementation of Intel Hex parsing
Add extended adressing mode support
Remove dependency on enum

Enum was only available on Python >= 3.4, and using backported version
did not feel right.
Fix python 2 compatibility
Add UART datagram encoding
Fix byte ordering of the CRC
Implement datagram decoding
Fix a bug with buffer replacement
Start testing the messagepack api
Raise exception if a datagram is too short
Add an example showing stream unpacking