Adding contract interfaces for specifying runtime compilation exceptions...

....

Fixes #12
This model doesn't allow for reporting compliation failures from multiple files. Would that ever make sense?