Add support for different MaxMind Services

I'm not sure when MaxMind made the change, but they've split out their web services in to different service offerings, with different credits required for each and different result orders.

http://dev.maxmind.com/geoip/web-services

I added an additional parameter to the MaxMindProvider that indicates the service, and then properly parsed and validated the different results.

I've been able to test the 'City/ISP/Org' API and the 'Omni' API, but I don't have credits for the rest. 

Additionally, they added support for IPv6.