Bug 1063: Uri: Refine API doc; Add create(Encoded ..) ; Provide common impl. for getNormalized(), getDirectory(), getParent() and getRelativeOf()

- Refine API doc
  - Add notion of {@code host} and {@code port} validation

- Add create(Encoded ..), allowing creation of variants w/o re-encoding

- Provide common impl. for getNormalized(), getDirectory(), getParent() and getRelativeOf()
  Above feature methods share common goals, hence use same implementation:
  - If opaque, cut-off query and merge after operation
  - cleanup path, i.e. /dummy/../test/ -> /test/
  - cutoff file, dir - if requested
  - append optional appendix and cleanup again

  Return behavior various thought, i.e. null, this or allow exception.

Enhanced test of above features.