struct for URI representation fixes

New branch, changes to pull request #2257
1. Some methods removed.
2. Parsing algorithm changed from regexp to string slicing (by @s-ludwig)
3. proprety "auth" renamed to "userInfo"
4. Examples converted to documented unittests
Please add DDOC for arguments, for example:
```D
/**
    Params:
        uri = RFC XXXX conformant URI string

    Throws:
         URIException for invalid strings
 */
```

Same applies to all other methods.