Revamp build process

* Build using CMake (http://www.cmake.org)
* Link with tcmalloc instead of dlopen
* Build on Windows by using MSVC
* Platform library hiding threads and mutexes
* Dropped support for UDP
* Ensure that the test applications run on windows!

Change-Id: Iecf1aaa81e95564d3c0918a58d041e074e756ab0
Reviewed-on: http://review.couchbase.org/28671
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
MB-8578: Add stats uuid

Change-Id: I18bf15ad81b0911710220abaf19f89ed71598bc5
Reviewed-on: http://review.couchbase.org/28672
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
MB-8149 Possibly dangling pointer

Change-Id: Ibb1e4c14598d587aa2bab8dff1c113c3391573db
Reviewed-on: http://review.couchbase.org/28674
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Use cbsasl instead of isasl

Change-Id: I441cee610fc95964cdee8d4d3fd8f4d382772c74
Reviewed-on: http://review.couchbase.org/28675
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Add INSTALL_NAME_DIR

Change-Id: I19bbbb127e744bd1cb932e24fac5436bb5b906d5
Reviewed-on: http://review.couchbase.org/29145
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
MB-7643: auto-tune number of worker threads

If you have more than 4 cores let's use 75% of them for
frontend threads

Change-Id: I76b3693ff5dfa74532e7d4cabb90a853e6b78c60
Reviewed-on: http://review.couchbase.org/24294
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
make protocol_errorcode_2_text lib function

Change-Id: Iec98bb840629a2b06aa1469cfa7d50625e8b6df0
Reviewed-on: http://review.couchbase.org/28856
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Remove out_string (we only support binary)

Change-Id: I65ef0be9adb4265a5df31128f3f1b30e192f9779
Reviewed-on: http://review.couchbase.org/28857
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Remove project-specific ntohll (use from libplatform)

Change-Id: I74cc3ffe4c57a4c963cdeb57e3e8810c01fdb8d0
Reviewed-on: http://review.couchbase.org/28858
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Disconnect clients sending unknown commands

Change-Id: Ifc9af146ae1a53da2c3ee694a4edef0df45fa6d7
Reviewed-on: http://review.couchbase.org/28874
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Added UPR prototype

Change-Id: I947f2a82eab6861a12c4a8d25b3783b0e6bd8b10
Reviewed-on: http://review.couchbase.org/28859
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Remove unused code

Change-Id: Ia0503fc54c48ad2621ebb23b989e758b9e40c5ff
Reviewed-on: http://review.couchbase.org/28941
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Refactor: use the validator/executor for tap as well

Change-Id: Ia99ac37494018f856fc9596b6ff6efd72ea8f4f3
Reviewed-on: http://review.couchbase.org/28942
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Add vbuckets to feature descrtiption

Change-Id: I7ec7e71cd0068ed4a4065e9869adfce056f36adf
Reviewed-on: http://review.couchbase.org/29166
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Check for python variable existence

Change-Id: I60f66a9e3bff12d8651e2a331190e3689b304065