Satisfy -Wcovered-switch-default warnings.

If we're going to use 'llvm-config --cxxflags', we need to handle all of the same warnings as LLVM; this includes -Wcovered-switch-default.
Fix signed/unsigned comparisons.
CMake cleanup.

Only some of TESLA uses Clang: move Clang-specific bits there. Also do general cleanup for my comprehension.
Don't specify "no PIC".

If we need to turn off PIC for LLVM reasons, we can now rely on the more in-depth LLVM configuration to tell us so.