Introduced custom serializable _concept_
* utility.h provides templates to determine if a type is custom serializable by the BinaryMapping library
* this entails that all types that wish to be supported by BinaryMapping are required to contain a data array inside a anonymous union and export their size via a static size member constant
* Previous implementation checked if type is union which was not feasible as custom methods have to be added to the union anyway
* Raw<Size> template is now a struct containing a anonymous union instead of being a union itself
* Size is determined by a custom size_of template to handle both integral and custom serializable types