Async: make ?body an explicit option since its an important part of the interface

via @yminsky
add a few tests for longer running connections that should help track down #11 and make sure it stays fixed
Attach a GC finaliser to the Lwt client to ensure that even an HTTP body isnt consumed, the socket will eventually be closed (closes #11).