fix a couple of oddities of URLParser and HandyURL (query should not include leading '?', authUser should not have trailing ':' or '@'); add a bunch of tests to URLParserTest
Merge branch 'master' into uuri-handy

Conflicts:
	src/main/java/org/archive/url/HandyURL.java
	src/test/java/org/archive/url/URLParserTest.java
progress on supporting relative urls in HandyURL
remove "opaque" from HandyURL, regular code can handle dns urls and stuff
HandyURL - remove special case inserting '/' when path is empty but we have query or hash... don't see a reason for this, should be part of canonicalization, and it is problematic for query-only or fragment-only urls
use a regex to parse the authority, adding support for ipv6 and empty port "http://foo.org:/blah", add tests for ipv6 and for various non-http schemes
add URLParser.parse(String urlString,boolean allowRelative) - to support enforcing absolute urls by default (add http scheme if no scheme); test of absolute and relative handling