Create an IP address file (and tests) for handling variants of ip::address types
Create a variant_wrapper class for simplifying variant subclassing
Move serializers into the ip address file
Add a net mask class and unit tests around it as well