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!
* Rename binary to mcd (due to cmake name conflict with libmemcached)

Change-Id: Iecf1aaa81e95564d3c0918a58d041e074e756ab0
MB-8578: Add stats uuid

Change-Id: I18bf15ad81b0911710220abaf19f89ed71598bc5
MB-8149 Possibly dangling pointer

Change-Id: Ibb1e4c14598d587aa2bab8dff1c113c3391573db
Use cbsasl instead of isasl

Change-Id: I441cee610fc95964cdee8d4d3fd8f4d382772c74
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
make protocol_errorcode_2_text lib function

Change-Id: Iec98bb840629a2b06aa1469cfa7d50625e8b6df0
Remove out_string (we only support binary)

Change-Id: I65ef0be9adb4265a5df31128f3f1b30e192f9779
Remove project-specific ntohll (use from libplatform)

Change-Id: I74cc3ffe4c57a4c963cdeb57e3e8810c01fdb8d0
Disconnect clients sending unknown commands

Change-Id: Ifc9af146ae1a53da2c3ee694a4edef0df45fa6d7
Added UPR prototype

Change-Id: I947f2a82eab6861a12c4a8d25b3783b0e6bd8b10
Remove unused code

Change-Id: Ia0503fc54c48ad2621ebb23b989e758b9e40c5ff
Refactor: use the validator/executor for tap as well

Change-Id: Ia99ac37494018f856fc9596b6ff6efd72ea8f4f3