Use single URL parser.

- Drop use of native node parser due to inability to easily parse
  empty paths.
- Simplify code path with a single parser.
- Better follow RFC 3986.