Adding the noshare test.
Another round of type changes.

Just a few removals of functionality (in CompilePipeline) and changes to
use pattern matching.
Merge branch 'master' into llvm-wrapper
Updates to bring the wrapper version up to working again.