Transformed utility structs into template aliases where possible
* either, is_custom_serializable and provides_own_size are now aliases instead of structs
* has_data_member and has_size_member helper structs couldn't be transformed as aliases seem to be instantiated earlier than struct templates which led to problems in conjunction with check_if_class