Http.Request Improvements

* Improvements to exception messages thrown inside Http.Request
* Allow to specify the body as a set of form name-value pairs in addition to content
* Auto-set method to GET or POST if not specified depending on whether we pass body as param or not
* Support for cookies
* Support for user-agent, host & referer headers
* Support for downloading binary files
* Support for knowing the actual url the response came from
* Change caches that were previously indefinite to 30 days, and cache all designtime urls for 30 minutes (fixes #90)