URL Parser

Break a URL into protocol, host, port, path, query parameters and hash, with decoded values.