added struct for URI representation

Advanced helper structure to URI representation, easy to parse/modify/construct URI strings.
I'd bet my money that this is pretty lax pattern and doesn't do much in the way of verification.
At minimum - get rid of unused groups, will make it faster and code in URI later on simpler to understand, also why not just move it into URI struct as static variable.