Use __MACH__ instead of OS_MACOSX to detect OS X in S2.
Define PREFETCH_HINT_* on Clang.
Also replaced compiler macros used by S2.
Further cleanup of platform-dependent S2 code. Also fixed 2847.
Make S2 compile on OS X
Using std::signbit required on Linux
Make using std::signbit conditional
Remove custom std::string hash functions. They don't compile reliably.
Wrap BN_is_zero to satisfy super-strict CLANG warnings.
merging #2816 All tests should run with a `--cache-size` parameter
Moved par_level_t to its own file, made op_t have a fake par_level implementation, made btree.cc parallelize only when par level is ONE.
Merge branch 'next' into daniel_osx_s2
Made op_t::par_level be abstract but subclasses have fake implementations.
Changed counted_t<func_t> to counted_t<const func_t> everywhere.
Merge branch 'next' into sam_const_func
Merge branch 'sam_const_func' into sam_2156

Conflicts:
	src/rdb_protocol/datum_stream.cc
	src/rdb_protocol/shards.cc
	src/rdb_protocol/term.cc