Add LoopOptimization test to check that PassManager fix is working.
Except don't really. Just cherry-pick some refactoring.
Merge branch 'fast-math' of https://github.com/tvh/llvm-general into tvh-fast-math
Fix tests for fast math.
Add test with for fast math flag.
Refactored fast math flag code.