Merge pull request #284 from infinity0/0.10-devel

- copy test data to build directory instead of assuming in-place build
Body generator for PUT/POST APIs

This commit does the following things:

- Add overloads to the HTTP Client implementation that takes a generator
  callback to generate chunks of the POST or PUT requests.
- Fixes #245 which happens when a resolution error occurs, which leaks
  futures and potentially threads associated with futures.
- Formats the files touched using clang-format in Google's style.

Unfortunately the API cannot be tested without starting a POST/PUT
capable server. A future commit should add an end-to-end test that uses
the HTTP server implementation and the HTTP client implementation to
verify end-to-end correctness.
Replaced BOOST_DYN_LINK code with the same options that appear on the master branch (CPP-NETLIB_BUILD_SHARED_LIBS).
add CMake definitions to build and install shared libraries and headers