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.
Merge branch 'next' into daniel_osx_s2