Moved custom serializable _concept_ into separate template class
* Should make implementation of custom types on the user-side easier
* BitField is now derived from CustomSerializable<Size>
** implements everything needed to satisfy the _concept_
* Changed unit tests accordingly