Fixes #1912. Remove the non-effcee build as EFFCEE is now required.
This Cl cleans up the include paths to be relative to the top level directory. Various include-what-you-use fixes have been added.
This CL moves the test into namespaces based on their directories.
It moves all conditional branching and switch whose conditions are loop invariant and uniform. Before performing the loop unswitch we check that the loop does not contain any instruction that would prevent it (barriers, group instructions etc.).