Improve RPM packaging

* configure.ac: allow disabling of libuv plugin. It needed when building
  RPM on the system, where libuv-devel *is* available. Also do not fail
  when wget/curl was not found, because probably they will not needed at
  all. In any case further task (like mock or gtest, will double check
  that dowloader is accessible).

* packaging/rpm/libcouchbase.spec.in:  add openssl-devel to build
  dependencies, and pass option to ./configure script to disable
  libuv. Also small typo was fixed in the changelog section.

* packaging/rpm/package.mk: define that we are using md5 algorithm for
  hashsums, with that given all system can unpack and build the
  binaries (at least on COPR)

Change-Id: I18709c54ef3b100a7b9007749cb88fcbbb779c7b
Reviewed-on: http://review.couchbase.org/40683
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-500: Allow using simple host:port as a connection string

This allows a host:port combination, with an `http://` implicit scheme.

Change-Id: Ifea6dd0bca849689afbf2495d6ceb0b468136605
Reviewed-on: http://review.couchbase.org/40935
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-501: Change capath to certpath, undocument no_verify

This makes the behavior more in line with the behavior expected for the
3.0 server release, where third-party signed certificates are not
supported.

Additionally, the no_verify option has been undocumented in order to
allow the strict dependency of the certificate to be more evident.

Change-Id: I95d0ae4c9599f9610ad97f24b13dd2e34db93baa
Reviewed-on: http://review.couchbase.org/40920
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Improve initialization documentation

The documentation for the connection string and such should be placed in
the beginning of the section, rather than as specific to lcb_create_st3.
This makes the details easier to find.

This commit also adds some other minor improvements, such as additional
documentation to lcb_set_cookie, and reorganizing of some of the
functions in the couchbase.h header file

Change-Id: I50f69913605cd326eeb470386bbcf2b677ef13f4
Reviewed-on: http://review.couchbase.org/40921
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Fix up styling in libevent example

Make the code simpler to read and follow by fixing up line breaks and
comment decorations.

Change-Id: I9e320b8795cf59aa38a0ce79da69d6ee535f77af
Reviewed-on: http://review.couchbase.org/40922
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Fix bad grammar in cbc manpage

Change-Id: I93eb164c7a968cfd696a5e7d1cc59d2960bde2b3
Reviewed-on: http://review.couchbase.org/40923
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Clarify usage of lcb_get_node constants

Change-Id: Ie01bf9e110c26ec43b6826f6a646e13c743ef20e
Reviewed-on: http://review.couchbase.org/40937
Reviewed-by: Brent Woodruff <brent@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Fix mingw build

Change-Id: Ib75c467c0c003c42d83ef06005fab5fa0421ca26
Reviewed-on: http://review.couchbase.org/40945
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Update metadata for release 2.4.1

Change-Id: I75ca77e95ccb697bc599576ef62f6434ff266c05
Reviewed-on: http://review.couchbase.org/40883
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Remove odd character from test text

/Users/mnunberg/Source/libcouchbase/tests/basic/t_connstr.cc:253:51:
warning: illegal character encoding in string literal
[-Winvalid-source-encoding]
    ASSERT_EQ(LCB_SUCCESS, err) << "Ok with bucket<CA>and no hosts";

Change-Id: Ia5afb5f72d178ccf3daf23c00a083009585b0af9
Reviewed-on: http://review.couchbase.org/40985
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
CCBC-504: Add replica info to cbc hash

Change-Id: Id6873f90cb65806a7282836dff4b4a603d44e2ce
Reviewed-on: http://review.couchbase.org/41148
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
add string cntl for modifying the HTTP bootstrap URI mode

This is currently undocumented

Change-Id: I748207b51a680582e6462d624b1a25b03aa4df6d
Reviewed-on: http://review.couchbase.org/40975
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Add LCB_OPTIONS environment variable

This option replaces the LCB_COMPRESSION and LCB_SYNCDTOR options and
adds a universal catch all to apply various key-value settings from the
environment, if needed.

None of this is currently documented or intended for public use.

Change-Id: I2646d9a5c7bdfbc030a94c1ee24f35d24f9c2571
Reviewed-on: http://review.couchbase.org/40976
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Suppress lcb_timer_* deprecation warnings for internal usage

We still need to support some functions. Remove the line noise this
generates.

Change-Id: I10b74ae753fef31d07558ac15415d19399d5d41f
Reviewed-on: http://review.couchbase.org/40984
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
lcb_cntl_string(): allow timeout values to be epxressed as floats

Change-Id: Id60745a6266676e2eb7a0218318273e9f2246d18
Reviewed-on: http://review.couchbase.org/40986
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-502: Provide lcb_cntl API to retrieve bucket name

Change-Id: I85f34ca43b5b8563795de8f1142d0744aa43cf83
Reviewed-on: http://review.couchbase.org/40987
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-439: Provided better help text/usage for cbc subcommands

This adds some subcommand help by using --help

Change-Id: Ic6f67ac9fdaddc37028d3518dbc6a3b06bddc4a0
Reviewed-on: http://review.couchbase.org/41195
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Update release notes with recent changes

For some reason these were omitted during their respective commits.

Change-Id: I358354e2333a99ac50b12cdeeb3adf62250996d9
Reviewed-on: http://review.couchbase.org/41299
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
cbc: Fix ignoring of cbcrc options

Some cbcrc options were previously being ignored due to their
corresponding Option structures not being marked as 'passed' or 'found',
but merely containing a default value. The code which would then apply
the options ended up ignoring these values because the passed flag was
off. This ensures that the pass flag is set when the defaults are loaded
from a config file.

Change-Id: I4705690e3a53eb3876790e0b932ccccbce09f1b0
Reviewed-on: http://review.couchbase.org/41300
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
CCBC-318: Implement key stats feature

This adds a new command options to the lcb_CMDSTATS structure which
allows to interpret the key as a document ID for which stats should be
returned from its related nodes.

Change-Id: Ic5a93dba109a5973cc64b7c1c0cff1e87cb77ac5
Reviewed-on: http://review.couchbase.org/41288
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>