NCBC-438: Add finalizer to CouchbaseClient to ensure resources are released

Add a destructor to CouchbaseClient which disposes the SocketPool which gives
reliable socket tear down for applications cleanly terminating.

Change-Id: I0de5a28309a6e7d648a8deec19e194abbf558b43
Reviewed-on: http://review.couchbase.org/36407
Reviewed-by: Jeffry Morris <jeffrymorris@gmail.com>
Tested-by: Jeffry Morris <jeffrymorris@gmail.com>