Protocol extensions

This pull request has three fixes (unit test for get_version, protocol.h files into sync, and adding missing macro). It also adds six new message types to the protocol.