Feature/httpclient tests

Finally had a chance to sit down for this again. 

HttpClient tests now use HttpListener self hosting, this exposes an `HttpListenerContext` to the Owin dictionary where we can get the proper non-urldecoded requested url from.