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.
Formatting.
Merge pull request #357 from kevinburke/parse-url

Raise LocationParseError if host is None