Add more semantic error functions

This commit adds error 'classifiers' to existing error codes while
maintaining full API/ABI compatibility with existing behavior. The idea
of this commit is to migrate from checking indidivual error codes (i.e.
LCB_ETIMEDOUT or whatever) towards checking error classifiers (i.e.
LCB_EIFNET(e) which function similarly to the WIF* macros for the
POSIX wait() family of functions.

It would be nice to have a file which could maintain backwards
compatibility for older versions of the library (i.e. one that can be
included into the source code of older SDKs) so that we don't have to
rely on the 'lcb_get_errtype' and 2.3

Change-Id: I57e5f595fa0e08f52a64388ab3f76f51aa3deaad
Reviewed-on: http://review.couchbase.org/33406
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Regression tests: Accept CONNECT_ERROR as acceptable for ETIMEDOUT

Change-Id: Iaac29d4e6b23f895755ea5712c26217904c87284
Reviewed-on: http://review.couchbase.org/33393
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCCP: connmgr_put on UNKNOWN_COMMAND

Change-Id: I5c5757035291d83294b7810f9e3dda0af90ec133
Reviewed-on: http://review.couchbase.org/33451
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Expose HTTP REST Idle timeout in lcb_cntl

Change-Id: I59d2d68aa13e3132c6d3121baabaee538a18c02a
Reviewed-on: http://review.couchbase.org/33442
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-150: Fix callback handling for multiple observe requests

Change-Id: I32b63ed99a3bfc238d72d5c60d048ca88090dca4
Reviewed-on: http://review.couchbase.org/23526
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Fix windows build failure

Change-Id: Ie97b82b3e77c19ae6b5a6637fbcde6167db1e406
Reviewed-on: http://review.couchbase.org/33575
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
libvbucket: Add convenience function to inspect diff

Change-Id: I28b9f466b7c0f76e55cd5a6a41c3e04bcaa0210e
Reviewed-on: http://review.couchbase.org/33741
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-281: Handle partial scheduling failure in multi ops

This fix handles this for most commands. It does _not_ handle
get-replica which requires different handling as it requires replicas
(and not masters) to be online.

Change-Id: I77d3a51dcf1d87ee0eded21d0e9999655a2b3c8b
Reviewed-on: http://review.couchbase.org/33855
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Use new vbucket_what_changed()

More accurate, consistent, and efficient managing of config updates.

Change-Id: I08f3a095a793385a9fc53286b511770c05539b17
Use HTTP Streaming on memcached buckets

Change-Id: I1bf3b64245fa2fce8fdd5aa967cc591d73981bd5
Restructure confmon a bit more

This restructures confmon to make its behavior more reliable and
testable.

More documentation has also been added to the header file to demonstrate
some aspects of the system

Change-Id: Ibff4d394808c21f2ef3c7463d8b543b415d46f95
CMake/Check-All: Allow for specifying runtime linker paths for tests

Change-Id: Icd2f17de3eb9220d4e27972035db2a6c27e78090
cmake/configure: Force unix makefiles

On OS X cmake generates an Xcode project by default

Change-Id: I89a0692a91a288c6d015539fb7968d9a689c3af8
cmake: fix mock URL

Change-Id: Ic122aad86eaeec7137cfbaa6e4e1924b088d3aaf
Reword README

This reflects libcouchbase being a mature and well defined project.

Change-Id: Iad12740db2ef8d586036f59731d5e203ef5f5249
Update VERSION_STRING in autoconf to 2.3.0-dp2

Change-Id: Iee573bdd88b0aacb24186c141cc7c546dd2082c1
Speed up mock instantiation.

Rather than creating a new instance for each time we reset the mock, we
make the instance persist throughout the lifetime of MockEnvironment

Change-Id: I3e63200df47f13cf43bc7bb340d5d55809768e2a
Allow operation to modify the config nodes

This should allow the nodes to be modified before bootstrap. It may also
be used to modify the nodes after bootstrap but has not been tested.

Change-Id: I222f0d148ffc0233af9d085c745e05a8ea2c158b
Use LCB_CONFIG_HTTP/MCD_PORT rather than hardcoded literals

Change-Id: Iff6a19ef0653526c27eac0528def5d1333b6b2f6
Log OS Error on connection failure

Change-Id: I4b4693cf618b31238ca7156760ad7f3db837cc89