Memory management fix and request body feature

A fix and a feature here. 

The fix is for issue#28 - the memory management of client_context::socket_ - have used std::shared_ptr to remove the need for the delete in the close lamba, which was causing a crash, without causing a memory leak.

The feature is just to gain access to the body of an HTTP request, so that POSTs can be handled.