Cleanup: URI -> Option[URI]

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Prefer `map' over pattern extractors.

The URIExt file provided a host of extractors for getting some data from
an underlying java.net.URI instance. It's preferable to completely hide
the fact that there is a java-based instance flying around due to how
brittle the java classes are. Instead, we now completely ring-fence the
java instance sanely, prevening potential errors.

Additionally, usage is much more obvious now.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge branch 'master' of github.com:fgeldenhuys/cyborg