Rethink catching of exceptions
Currently all exceptions are caught by the OpalParser. Whe it catches exceptions then it calls exit. This is a problem for the optimizer since it's very likely that an individual (optimization perspective) failes while the others run smoothly. OpalParser shouldn't catch any exceptions except ParseErrors.