Deprecate lcb_timer* and replace with lcbio_timer

lcb_timer has been deprecated before, but since we had a lot of internal
usages of it, we didn't actually mark it as deprecated to the
preprocessor. This commit replaces all usage of lcb_timer within the
internal code with that of lcbio_timer. The lcb_timer code itself still
remains but is now sectioned off in a single file (timer.c) and isn't
touched by anything within the library.

Change-Id: Ibfc05e2a0f2ee2ff8a5461988b426e56152e2666
Call lcb_retryq_signal() when a new config has arrived

This will attempt to schedule all commands currently inside the retry
queue.

Change-Id: Id67b1debdbe4fc58736d31aa9c93848553d7c90e
update release notes

Change-Id: I462987585a909a70a7d3ab0ce0e07762e17df719
cmake fixups (gtest_zip_path)

Change-Id: Ida7aa19665e72ec8539d2a02b9a5366901194bd4
Add multi threaded functionality

This commit adds multi-threaded functionality within libcouchbase. It
works by running a specialized event loop in a dedicated thread, and
using locks to wait and submit operations to the library.

This commit also aims for _API_ compatibility with existing code, so
that newer APIs do not need to be used in order to cooperate with
multiple threads. These wrappers of course are a bit CPU intensive but
work quite well for simple code, or for the sake of porting an existing
lcb-wait based application over to the threaded code.

The wrapping is done partly via dedicated functions, and partly via a
Perl script which generates the proper stubs that can masquerade
themselves as normal API functions to the preprocessor.

WIP because of tests. Many more tests. And API sanity

Currently provided:

- I/O plugin for MT
- mt.h header file
- cbc-mtstress to test and stress the multi-threaded functionality

Change-Id: I783b74bf04f3b818d59610a18bea4435994012c6