Move transcoding and serialization outside of scope of acquire/release

Improves overall performance by moving the code that takes the most time
outside of of the scope of connection pooling, so that time spent with a
connection is minimized.

Change-Id: I81aa99822cbf542ae150fb75ba10a8677dca8d4e
Reviewed-on: http://review.couchbase.org/43574
Reviewed-by: Simon Baslé <simon@couchbase.com>
Reviewed-by: Jeffry Morris <jeffrymorris@gmail.com>
Tested-by: Jeffry Morris <jeffrymorris@gmail.com>