Clean all the mess around KMP_USE_FUTEX and kmp_lock.h
KMP_USE_FUTEX preprocessor definition defined in kmp_lock.h is used
inconsequently throughout LLVM libomp code.
- some .c files that use this define do not include kmp_lock.h file, in effect guarded part of code are never compiled
- some places in code use architecture-depending preprocessor logic expressions which effectively disable use of Futex for AArch64 architecture, all these places should use '#if KMP_USE_FUTEX' instead to avoid any further confusions
- some places use KMP_HAS_FUTEX which is nowhere defined, KMP_USE_FUTEX should be used instead
Differential Revision: http://reviews.llvm.org/D19629