Fix hexical_cast error handling
Update the serializer to be more flexible (so we can extend it in the future and use it instead of lexical_casting, etc)
Add serializer tests
Update Kvp to use the new serializer
Add a hexical serializer
Make serializers be usable as transforms
Default to doing hexical_cast for uint8_t
Rework the collection interface around transform, join, and split.
Update unit tests to print out collections, maps, and pairs by default
Implement splitting on strings and regular expressions
We can't deserialize to a char* - because the string goes away.
Add test for empty joins
Update test logging and add a comment to clarify how the splitting/trimming works
Add serializers for IP address classes