Update to properly handle MultiCompiler instances

All of the compiler setup and plugin operations were assuming a singular Compiler instance vs. MultiCompiler constructs. This changes the behavior to allow for iteration over multiple compilers where necessary.

Fixes #31
The MultiCompiler instance also emits `done` and `invalid`, which are automatically aggregated over all compilers... So you could leave the original code intact...