MAID-390-cereal_integration_common

Replacing protobuf with cereal in common and adding global helper functions to serialize.
Yeah - the style checker is based on the [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Names_and_Order_of_Includes).  By using angle brackets for the cereal headers the script assumes they're system headers and from that point on it gets messy :)  The trick is really just using the quotes rather than angle brackets.  In my suggested fix, you should be able to swap the order of any of the cereal includes (it doesn't care about alphabetical order) - as long as the <string> comes before them all, the style checker is happy.