PYCBC-36: Implement OBSERVE command

This wraps the low-level OBSERVE command. This may be used to implement
durability/persistence requirements, or simply observe key storage
status

Change-Id: I1409f8e6ce6c87cf0b1176bf77840eb603025583
Reviewed-on: http://review.couchbase.org/26734
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
Remove boilerplate wait from operations

Refactor most of this stuff into the common_vars system

Change-Id: Id76a0716eb414aa13f4c4c0f6cdae12bac21ae1d
Reviewed-on: http://review.couchbase.org/26809
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
PYCBC-125: Provide connection-object lock (threading) options

Change-Id: I8e7274da52b9d8b9a06f875a200db3ad13dd53f8
Reviewed-on: http://review.couchbase.org/26769
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Reviewed-by: Rami Chowdhury <rami@esplorio.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
Clean up module structure a bit

Move code from libcoucbase.py to connection.py
Fixup some doc references

- old libcouchbase.py name still available
- Moved over common types and constants to their own modules

Change-Id: Ife557ad40b0adad10da65d1bc2886ca155c59c95
Reviewed-on: http://review.couchbase.org/26824
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
Fixup seealso sections

Change-Id: I2cccda4eed09a11f81c60db905c5d90e5a6cbd24
Reviewed-on: http://review.couchbase.org/26829
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
PYCBC-128: Set instance to NULL on lcb_create failure

Change-Id: I0d6105dc365f9e144519d2f2041de6ac94d18b2b
Reviewed-on: http://review.couchbase.org/26830
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
PYCBC-7, PYCBC-9: Views and pagination interface

This changeset adds the Python-level interface to views and its
available parameters. Included are:

- Classes to construct queries
- Classes to iterate over queries
- Classes to convert JSON rows into user-defined objects

The _view method is still available

Change-Id: I55144ba83bce6f5b98a28b2d8c836026ab49c22a
PYCBC-137: partial PEP-8 conformance

- Some files, like 'params.py' will never be strictly PEP-8 conformant
  as it does not make sense to keep large tables and confine them to
  visually unappealing rules (e.g. extra whitespace after '=').

All in all, 'pep8' issues a lot less warnings now

Change-Id: I5ef027413b72cc3824444dfbe7e3e2a985221b9f
PYCBC-136: Pass quiet from Couchbase.connect

Change-Id: I26435289fbc0e68e94a3c668ae9e0a412fe6857b
PYCBC-135: Allow transcoder to be a class

Change-Id: I161e6d739a3bcd4daaf472fe4d6f680b8546f594
PYCBC-138: Fix incr_multi/decr_multi

Change-Id: I9a86465429b482c35d839c09bb05285adf20aa32
PYCBC-139, PYCBC-132; fixup lock/unlock errors

- Also allow for an OperationResult to be passed as an argument to
  unlock_multi (is this needed?)

Change-Id: I9802fa4ebc220fb6ce8e393d39f9b1444381e1d4
PYCBC-134: Don't crash if passed duplicate keys

Some additional properties in Connection to test

Change-Id: I306dfedba0376fca59968db016dac6797257a135
PYCBC-131: More informative error on empty string

Currently when an empty string is passed, lcb throws an InvalidError,
which works but isn't expected for the SDK - we should explicitly detect
an empty string and warn about this. It's not difficult to do!

Change-Id: Ief383d8557531313995569e3f4368cfdb347969c
Add 'couchbase.views' package

Change-Id: Ied6d4d057ae24fc817f62936ebef45f7ee8924ab
Update 1.0.0-beta release metadata

Change-Id: I83bd320274af7d4be1335e46eb666aaa1fe8cbd5