Write hex representation of the code for easier search.
Implement very basic msgpack ostream-like wrapper. Add specializations.

byte_array and boost::optional<T> are added first, since we use some
custom serializations of those. There will be some more types added.
Replce msgpack_oarchive with msgpack_ostream, and msgpack_iarchive with msgpack_istream.
Replace reading through boost.serialization with msgpack_istream.