Fixes bug with socket closed caused by a finally block after a return statement
Changes HttpFetcher to no longer reuse request objects by default.

Removes special case for BAD_REQUEST.
Adds RequestProvider for implementations to decide what request object to use.
Refactors Http Fetching utils and abstract stage.

Removes HttpClient-specific tests from AbstractHttpFetchingProcessStage.
Adds more tests to HttpFetcher.
Replaces stage-specific document manipulation methods with LocalDocument calls.
Adds simple implementation of a Http Fetching stage.
Removes unused GSON dependency
Moves responsibility for consuming the response entity in a fetching stage to the superclass.
Whitespace fixes (indent with tabs)
Tiny logical refactoring in HttpFetcher
Refactoring fixup in HttpFetcher.
Added parameter setters in SimpleHttpFetchingStage
Fixed logic for setting fetcher in AbstractHttpFetchingProcessStage
Merge pull request #2 from remen/fix-httputils-failing-test

Code review proposed changes
Merge pull request #304 from laserval/fix-httputils-failing-test

Fixes "socket closed" bug and failing HTTPutils test