main() functions now call MPI_Abort

When exceptions were thrown, previously the simulation could hang
if the other processes kept going. Solver caught exceptions, printed
an error message, and returned an error code.

Solver now catches and re-throws the exception. Handlers in main()
(both boutmain.hxx and bout/physicsmodel.hxx) now catch exceptions
and call MPI_Abort. This should then terminate all processes.