Reuse VBucket objects from last Configs to lower GC pressure.

This changeset allows to (optionally) pass in a existing Config
and if VBucket objects are the same, those get reused in the new
Config and not creating new ones all the time. This lowers GC
pressure, especially during rebalance phases when 10 or more
CouchbaseClient objects are used.

Tests have been added, please note that the JSON configs will
be separated out into resource files in a different commit.

Change-Id: If979b5a52ffbcf7e87a4c59bb14f781bf48deaee
Reviewed-on: http://review.couchbase.org/29887
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>