Remove _is_valid_ip_address to allow arbitrary strings in place of IP addresses 

This is to allow Affix components such as NamingAndResolverAffix to override `getmyip`, and later take care of mapping the desired stack ID back to an actual IP address.
Add module name to references of `urllib` functions

Thanks @DennisMirante for reporting the problem.
Merge remote branch 'albert/master' into fix-httpretrieve
Fix issues with encoding/default values of parameters

Thanks @smmiller for suggesting this and providing an initial fix.
My modifications make `httpretrieve_open` work as its docstring says,
i.e. the *caller* must take care of urlencoding the `querydata`
and/or `postdata` arguments. The `_httpretrieve_build_request`
function that is called internally only adds the `Content-encoding`
HTTP header automatically, but does not attempt to convert/modify
the actual data. This behavior essentially mimics what Python's
`urllib` does.