protocol version

This PR fixes #24. It is still a work in progress, not ready for merge. However it allows for early review and to signal I am working on it.
I would name it something like BOOTLOADER_PROTOCOL_VERSION. Or is this version number for the CAN datagram format?