RFC 3986 compliant, scheme-agnostic replacement for urlparse