add optional support for IO::Socket::IP

This addresses #12 and adds optional support.  It would complete the last outstanding feature I think we need to implement.

The question I have is whether we need some way for a user to opt back to IO::Socket::INET via some attribute or something.  (For example, IO::Socket::SSL does something global or looks at the Domain attribute).