CCBC-394: Check ringbuffer on server_start_packet_ex

Change-Id: If979226c3cdd2997ef56609ef7976968fef45bc8
Reviewed-on: http://review.couchbase.org/36525
Reviewed-by: Yury Alioshinov <haster2010@gmail.com>
Tested-by: Yury Alioshinov <haster2010@gmail.com>
Reviewed-by: Brett Lawson <brett19@gmail.com>
CCBC-392: Fix binary incompatibilities with lcb_create_compat

This changeset attempts to alleviate some of the issues experienced by
adding a new field to lcb_create_st. These steps were taken

- Use preprocessor indirection to use a new symbol for future versions.
  Future in-source references to lcb_create_compat will actually forward
  to lcb__create_compat_230 which employs a new structure layout.

- Old 'lcb_create_compat' symbol exists in the source code file only,
  but is not inside the header. Thus older applications which relied on
  the older structure shall be directed to lcb_create_compat()

- The special exception is 2.3.0 which uses the larger structure but
  with an alternate layout. In this case the library tries to perform
  some heuristics to determine the version

- As a limitation, a configuration cache filename cannot be NULL. This
  should not affect any SDKs, but is easily fixable at the user level by
  simply providing a path for the file.

- The lcb_cached_config_st structure has been reordered so that the
  filename starts first and the trailer portion of the structure becomes
  the creation options. This allows more fields to be added to the
  'lcb_create_st' field without bringing about a scenario like this
  again.

Change-Id: Ib4b5b1611a9bf588875b448f7128be97ed4e158c
Reviewed-on: http://review.couchbase.org/36559
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Update documentation for 2.3.0/2.3.1 added fields

Change-Id: Iac660ec5fa63a5085c4febb8b34e96ec688594a8
Reviewed-on: http://review.couchbase.org/36582
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-404: Don't use lcb_list_delete to remove cinfo

If the conninfo structure is in idle state, use
clist_delete so that the ll_idle count will also be decremented.

Change-Id: Idb4f0ea3da332fa3854834ee54e4975b7b1af3c5
Reviewed-on: http://review.couchbase.org/36601
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Dave Rigby <daver@couchbase.com>
CCBC-407: Increase performance on select

- fd_set is itself a bit array. Do not allocate an array of these
- select should use the maximum fd +1 as its first argument, not
  FD_SETSIZE

Change-Id: Id1d8fc199b15eba5ffe720cf483fb9a748b6e21b
Reviewed-on: http://review.couchbase.org/36758
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Update release metadata for 2.3.1

Change-Id: I369011039658abfee3e2203080ae2bc37bd95970