preliminary attempt at cleanup of URL parsing code. Added some regression tests and parameters and incompatibly git rid of 1-arg CTOR and requiure call to static parse method