Remove all PISMEnd calls.

Compiles and passes tests, but needs testing. I also need to change the
way -version and -usage are processed.

Note: PISMEnd called exit(), and according to the C++ standard exit does
not unwind the stack, i.e. cleanup done in destructors never happens.
So, we should avoid exit().