Progress on traits for #23

Re-made a repo based on a more recent version of develop.
Syntax for save_minimal looking good so far.
Detecting invalid return types for save_minimal

both member and non-member, static_asserts look good
Adding save_minimal to many other traits
specialize_serialize now works with versioning

todo: load, save, and non member versions of them all
making versioned compatible with specialization

Also fixed a bug with some type traits that would erroneously return true if
an odd number of boolean variables were true when the desired behavior was to return
false if more than one boolean variable was true.

Need to revise the no matching serialization to properly fire if a type is specialized
but has both versioned and non-versioned functions of the specialization type.
Increasing readability of static_assert on clang and other compilers that don't
actually print newlines
Now emitting errors if mixing versioning on output serialization

If someone attempts to have both a versioned and non-versioned serialization
function, they will get a compile time error.

relates to improvements in #23
update bad serialize static_assert
progress on load type traits

see #23
Cleaning up prior work on traits for load_minimal

writing type traits is a wonderful battle against the compiler

see #23
traits improvements
see #23
work on traits
see #23
fixing issues with any and noconvert in traits
see #23
tidying up error messages
fairly happy with load_minimal traits
adding traits for load_minimal versioned member
adding traits for load_minimal non member versioned
Putting in check for invalid load_minmal type parameter
adding const check to versioned
work on traits

revisit the static assert on line 691 of traits firing at the wrong time