Relax URI validation.

URIs are no longer validated against a scheme by default. This allows
usage of path only URI for example. To validate against a scheme or
authority `url-authority` and `url-schemes` can be used.
Would be nice to pull the examples of invalid URLs into a `def`. That way it's easy to update tests with new cases without having to dig into the implementation of tests, and it will move the data out of the test code, hopefully making it clear what we assert about each test case.