Add `hit!` message
Add `navigation chart` message
Rearrange messages in the same order as in protocol
Update messages.h to protocol version 3
Implement messages' methods in separate file
Add serialize method and serializeMessage helper
Put current protocol version number into constant
Call generic serialize() from `there you see` serializer
Remove redundant classes

`hit`, `navigation chart` and `moved successfully` don't have any
payload, thus don't need separate Message subclasses and special
serialization method.
Slight code rearrangements
Implement serialize() for `navigation chart`
Merge branch 'protocol_v3_implementation'