URI: allow init with array, use dataProviders in unit tests

Allow initialization of the URI object with arrays of strings. This was
necessary for testing.

Using dataProviders in the unit tests prevents a lot of double work in setting
up testcases and allows for quick addition of more cases.
AuthTest: shorten by using dataProvider