Normalized to follow original URI proposal
Normalized to follow original URI proposal

See https://github.com/php-fig/fig-standards/blob/3486dc9184e9a099118389cd3e032295852d011e/proposed/uri.md

I examined this proposal, as well as looked in depth at RFC's 3986 and
7230 to see what overlap we had and/or needed. The interface in its
current form now is mostly compatible with the original proposal. It
differs in the following ways:

- Since this proposal targets HTTP requests specifically, I did not
  separate URI vs Hierarchical URI vs Opaque.
- This proposal combines aspects of the originally proposed UriInterface
  and the HierarchicalUriInterface, particularly around the various
  getters.
- I have omitted the `to(Encoded|Decoded)String()` methods, as they are
  essentially irrelevant for HTTP messages (requests will always want
  decoded URIs).
- I have omitted `getQueryAsArray()` as I'm not 100% sold on their
  efficacy for HTTP messages, particularly as ServerRequest already
  defines `getQueryParams()`
- I omitted `getHierarchicalPart()`, as I could not find a use case
  within the domain of HTTP messages.
- I omitted `normalize()`, `resolve()`, and `relativize()` as I did not
  have immediate use cases for them with regards to HTTP messages. They
  may be useful for HTTP clients, however.
- I modified `getAuthority()` to return the authority segment of a URI.
- I added `getUserInfo()` to perform what `getAuthority()` was doing
  previously, and renamed `withAuthority()` to `withUserInfo()`.

With the changes made, an implementation that bridges the original
interfaces and those in this proposal can be made that are 100%
compatible.

alexmgit/http-message,swantrace/http-message,php-fig/http-message,asika32764/http-message