Raise LocationParseError if host is None

Also fixes double-encoding of the error message "Failed to parse:" for
LocationParseErrors, and adds tests that parse_url and poolmanager behave in
the appropriate ways.

Should fix #355.