select: Fix timer handling

We're actually passed the relative usecs, so we need to ensure that
we mark the absolute begin time, and compare that to the post loop
timer. Previously we were comparing the relative timestamp.

Change-Id: I735f74d7f16773526338b345b02d694586c2a129
Reviewed-on: http://review.couchbase.org/29212
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
PYCBC-192: Propagate lockmode

Change-Id: I60c1f72aa5acf6ba07cff6e673f634cc93c182ba
Reviewed-on: http://review.couchbase.org/29261
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
IOPS fixes:

- Allow python to supply an event factory, for easier subclassing of C
types.
- Assign fd to event object before calling function
- Remove 'usecs' field from Timer. The relative timeout isn't very
  useful.

Change-Id: If9fe41dda6535952c3eadeeab2240e66f8941394
Reviewed-on: http://review.couchbase.org/29259
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Remove conditional LCB_VERSION

We don't support anything lower than 2.1.x anyway because of durability

Change-Id: Iae54aa2ecd350ee55acbcd8518b1595f1073891e
Reviewed-on: http://review.couchbase.org/29260
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Fixup view meta handling

Previously the view meta handling behavior was variable. This commit
makes it so that the view 'meta' will conform to the format like so:

Whatever the format, the various chunks received during the
request shall be appended to an internal list.

Once the complete callback is invoked (from LCB), the extension will
do the following depending on the format type:

FMT_JSON: Will do json.loads("".join(l))
FMT_UTF8: Will do "".join(l)
Anything else, and the list remains as is.

Change-Id: I405ce0fd2af16b4a736618ff21e60b1dd770d0cc
PYCBC-193: Handle large query URIs

This converts them into POST requests if they exceed a certain length.

Change-Id: I8265427863ec479a58dd77a82fe9a89da5101b44
Reviewed-on: http://review.couchbase.org/29276
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
PYCBC-182: Clarify conncache documentation

Change-Id: I72627fcc4ead484640cc25a1f588afa91cc58118
Reviewed-on: http://review.couchbase.org/29277
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Fixup view tests

Change-Id: Iafb6b2afa80904a9a40cd326acf818c35ce511e3
Reviewed-on: http://review.couchbase.org/29284
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add build-time version check for libcouchbase

This makes the compilation message a bit friendlier, rather than showing
garbage about undefined structures.

Change-Id: Ic9d7f329d2e8d668afa3b9b092b17985a071f3d9
Reviewed-on: http://review.couchbase.org/29285
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Change sample mock location: 0.5 -> 0.6

Change-Id: I1644725c4422ca7d870ea9c141bc20cc5cdc9a36
Reviewed-on: http://review.couchbase.org/29287
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Make 'couchbase_version' script print version after generation

Change-Id: Iaf59bfb9f617bf330713fe7df19b4772073f98a3
Reviewed-on: http://review.couchbase.org/29288
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Update dependency information in README

Change-Id: I73358b3df758f3f23cd4f2d92481c561b0e3e45b
Reviewed-on: http://review.couchbase.org/29289
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Matt Ingenthron <matt@couchbase.com>
Twisted support

This adds twisted support using the following:

* New private 'async' module which returns future-like objects rather than
  waiting

* IOPS implementation for a twisted reactor

* txcouchbase package supplying a connection wrapping the internal Async
  object

Change-Id: I58a94944f6fbf308b307db532bd01d6cf6b9fc05