userInfo can be encoded as specified in RFC:
http://tools.ietf.org/html/rfc3986#section-3.2.1
added a convenience method to convert safely from/to a java.net.URI