FT-596 Fix a variety of drd failures by wrapping access to benign racy
variables with `drd ignore var' and `drd stop ignoring var'
Merge branch 'releases/tokumx-2.0'
FT-599 switched from _SVID_SOURCE to _DEFAULT_SOURCE

Newer libc doesn't like _SVID_SOURCE:
https://sourceware.org/ml/libc-alpha/2013-12/msg00652.html
Merge branch 'bugs/599'
FT-600 locktree refs crash test and bug fix
fixed cmake warnings for 3.0.0
disabled keyrange until we fix it
optimized test_keylen_diff so it's faster under valgrind

also widened one valgrind suppression to also catch something we
initialize in the assert layer
fixed some helgrind warnings in ydb/helgrind_test_groupcommit_count.tdb
moved to generator expressions for cmake debug flags
use TOKU_ macros to handle !USE_VALGRIND
fixed some valgrind sanity tests
fixed cmake policy CMP0022:

either use all-plain or all-keyword style of target_link_libraries
Merge branch 'ft600'
fixed cmake for versions without generator expressions (hopefully)
fixed version check inequality
changed to ANNOTATE_IGNORE_{READS,WRITES}_{BEGIN,END}

DRD seems to prefer those annotations to
DRD_IGNORE_VAR/DRD_STOP_IGNORING_VAR.

Helgrind is stupid, and VALGRIND_HG_{DIS,EN}ABLE_CHECKING pairs
bizarrely "reclaim" the memory location for the current thread when
re-enabling checking.  So they probably aren't completely suitable for
our purposes, but Helgrind provides no facility for doing what we want
because it just wants to watch the world burn.  So we add a couple of
Helgrind suppressions in addition.

Also, added a cute RAII wrapper for reading a variable in a racy way.
Writing can be done the same way if we only want to appease DRD, but
because Helgrind does things on a memory location-basis and not a
thread-basis, things get a little tricky.
FT-602 Check for a nondeleted entry in the target le instead of the
leftmost le (oops!). Also strengthen our unit test for coverage.
FT-602 give test_insert_unique enough time to run with valgrind on mork