exhaustive test parallelised using openmp. Tested on x86 and on mic with up to 1000 threads. The progress bar has been disabled as this is meaningless with multiple threads. the while loop has been altered because the test checked that the last element in the vector was less than the test maximum meanign that other valid elements were not being tested. This meant that in the multithreaded case many elements were not being tested.
union moved inside function, unnecessary int removed from union and commented cout removed
unnecessary int removed
openmp in exhaustive tests abstracted so that it can work on non-openmp environemtns without warnings/errors. CMake files modified to use openmp for exhaustive tests
Quick-fix for failed gather_includes builds when cross compiling (missing exceptions support).
Applied the same quick-fix to move_reuse and postconfigure as for gather_includes.
(note to nt2 devs: there seems to be duplication between the CMakeLists.txt files for the three tools)
Fixed/updated remaining code affected by the timing code changes.
Added attempts to prevent the compiler and/or the CPU from reordering and/or removing calls to timing functions.
Changed the default time unit to microseconds.
Added and used the priority_booster_t utility class.
Added more todo and implementation notes.
Further improved stability/accuracy of the timing functions overhead (still not "perfect", especially for now()).
Optimized the median<>() function template and (temporarily) moved it into the now.cpp.
Switched to the rand48 PRNG (as it is faster) and (temporarily) moved the reusable PRNG functions into the now.cpp.
Minor other refactoring and stylistic changes.
Created a virtual interface class for benchmarks. Used it to make the perform_benchmark function a non template and (temporarily) moved it to now.cpp.
Used the perform_benchmark(_impl) function in now.cpp to accurately calculate the timing functions overhead (this now produces stable/reproducible results).
Minor CT optimization.
Added "beta"/"prototype" support for GCC's bultin vector type.
Added a workaround for a GCC performance bug related to bultin_unreachable.
Minor other reafactoring and stylistic changes.
Optimized the  dif::dft_8_in_place() member function template (added appropriate implementation notes).
Added more documentation links and resorted some existing ones.
Minor other refactoring, optimizations and stylistic changes.
Unrolled the butterfly loope for size 32 transform.
Added a workaround for a MSVC10 optimizer deficiency.
Minor other refactoring and stylistic changes.
Added "GCC native" /, &, ^ and | (hacky) operators.
Revert "Quick-fix for failed gather_includes builds when cross compiling (missing exceptions support)."

This reverts commit 8691058e6014a0c199f4b06e56be5df5db807e6a.

(no longer needed after changes mgaunard mentioned on #nt2)
Extracted "extra registers" and "missing functionality" code into separate headers.
Fixed and optimized "extra registers" related code.
MSVC: Quick-fixed a CRT assertion failure in x64 builds.
Minor other cleanups and stylistic changes.
Added more GCC native vector operators.
Fixed default/generic BOOST_ASSUME implementation (to always evaluate the passed expression).
Added more GCC native and NEON operations.
Fully enabled the SIMD path in the FFT in GCC "native emulated SIMD" builds.
Updated some notes.
Added NEON extract and insert.
Minor cleanup.