Bundle of fixes

Removed unused imports
Added nothrow to several buffer functions
Fixed (de)serialization of optional buffers
Deserialization now uses the .deserialize function of generated types
Removed unneeded concat() function which was just a useless alias for
std.algorithm.join()
Created a template of the generated protocol buffer, to make it
accessable from user code
Unified readMsgData and readVarint
Added unittests to the serialization/deserialization
Fixed enum serialization
Fixed deserialization of repeated structs

Fixed code generation for options in proto messages