Enhancement: Add support for hostnames (and more robust IP checking, too!)

This fully addresses #105.
@CFSworks: Actually, see comment on parse_address for an alternative to exceptions