Working towards precompile project hook

* Introduces the idea of "aspect" assembly that can be asked for
* Roslyn compiler specifically will ask for and return
a "precompile" aspect assembly
* precompile assemblies have before/after compile hooks to
alter the "main" assembly's CSharpCompilation details
Only attempt to load preprocess aspect if project has source files
One file per type for interfaces
Pull request feedback