Do not optimize generated_breakdancer_testsuite

Change-Id: I5055a08ccc32b0a68e75458ce4262147bd571a15
Reviewed-on: http://review.couchbase.org/39969
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
[MB-11548] Memcached does not handle going back in time.

1) Update testapp so that we can expose the bug.

The idea here is to move us to using a platform method that abstracts gettimeofday.
With that in place we can apply time shifts in a programmatic fashion using the
memcached protocol extension framework.

Testapp uses testapp_extension.so to send time offset values into memcached and
cause a jump in time.

2) Add mc_time module and move memcached.c methods + add bug fix.
 - This module provides the legacy API but
 a) current_time is now monotonic and immune to system clock changes
 b) allow correct absolute system time calculations without the I/O path needing
    a system call. This works alongside real system clock changes.
 c) validate that existing expiry tests and new expiry tests are now operational.

3) Remove any gettimeofday reference from memcached so that we use the new platform method.

4) As part of final testing, some system tests were performed where I manually
changed the real system clock using "sudo date" commands.

Change-Id: I2048c536f344050191feeed16635196f44b70b37
Reviewed-on: http://review.couchbase.org/39813
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
jemalloc: Ensure stats are up-to-date

jemalloc can cache it's statistics. Add a call to mallctl("epoch")
when fetching allocator stats to ensure that we have up-to-date stats
values.

Change-Id: Ie466e193e442a8b9dbb75367c3cc44e4cdbef90f
Reviewed-on: http://review.couchbase.org/39996
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Tweak file_logger unit test buffer sizes

Increase the buffer size (relative to the expected message length) so
the producer thread isn't blocked waiting for the flusher thread to
timeout (as the flusher high watermark hasn't been reached, yet there
isn't enough space for the producer to write into).

Change-Id: Icea983a841abe1e64858c92cc67eb5bc6b3a805c
Reviewed-on: http://review.couchbase.org/39812
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Dave Rigby <daver@couchbase.com>
Merge remote-tracking branch 'membase/3.0'

* membase/3.0:
  Tweak file_logger unit test buffer sizes
  jemalloc: Ensure stats are up-to-date
  [MB-11548] Memcached does not handle going back in time.
  Do not optimize generated_breakdancer_testsuite

Change-Id: I4be8d7adaa084759d417c385ea781c8eaf16148b
Add deduplication of log messages

Change-Id: Ic2a5eea193b312aa13eac78e9b6e70ab79bcfc46
Reviewed-on: http://review.couchbase.org/40105
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
 MB-11772: Install mcctl into bin/ directory

Change-Id: I712bea5b32479d0df5127d98c0cef27f0075072d
Reviewed-on: http://review.couchbase.org/40109
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Merge remote-tracking branch 'membase/3.0'

* membase/3.0:
  MB-11772: Install mcctl into bin/ directory

Change-Id: I74d25aa167a6c4ac76bb094cebc8ae6d256bb96a
Fix compile failure on linux

Change-Id: I863a3aab3f96bad3bffa5834c0135ed5a8de41f4
Reviewed-on: http://review.couchbase.org/40114
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Merge remote-tracking branch 'membase/3.0.1'

* membase/3.0.1:
  Fix compile failure on linux
  MB-11772: Install mcctl into bin/ directory
  Add deduplication of log messages
  Tweak file_logger unit test buffer sizes
  jemalloc: Ensure stats are up-to-date
  [MB-11548] Memcached does not handle going back in time.
  Do not optimize generated_breakdancer_testsuite

Change-Id: I318b35919192236585daf8d49d774999a78a1dbe