Currently, `OFURL` only supports, as the name implies, URLs. However, it would be nice to also be able to handle URIs. As it would be bad to have two classes, the best way forward would be to rename `OFURL` to `OFURI` and add URI support as per 3986 to it.

It seems the main changes needed would be:

* Rename to `OFURI` and change `OFURL` -> `OFURI` everywhere
* Drop `fragment` entirely
* Add support for parsing URIs with no authority, making `host`, `port`, `user` and `password` `nil` when there is no authority.

As this is breaking the API, this needs to happen before the 1.0 release.