Fix loop merge and continue as same block (#485)

Fixes #482

* New pass fixes up after structurize cfg
  * splits blocks that are both a loop merge block and a loop continue
  block
* updated simple tests to reorder check statements
* replaced hack-scf tests with specific pass tests on IR that check all
comparisons
* pass tests

diff --git a/lib/Passes.cpp b/lib/Passes.cpp
index 2f4ec19..a92ff14 100644
--- a/lib/Passes.cpp
+++ b/lib/Passes.cpp
@@ -22,6 +22,7 @@
   initializeClusterPodKernelArgumentsPassPass(r);
   initializeDirectResourceAccessPassPass(r);
   initializeDefineOpenCLWorkItemBuiltinsPassPass(r);
+  initializeFixupStructuredCFGPassPass(r);
   initializeFunctionInternalizerPassPass(r);
   initializeHideConstantLoadsPassPass(r);
   initializeUnhideConstantLoadsPassPass(r);