fixed url bugs and unit tests passing.  removed top level param support
added explicit nulls for protocol, host, port.  Null checks for query params and stuff