added struct for URI representation

Advanced helper structure to URI representation, easy to parse/modify/construct URI strings.
Why are HTML character entities handled here? That seems to preclude some valid query strings.