Generalizing mpas_tasks

* If we aren't trying to run with develop for this particular test, then don't require that _develop exist.

* Throw an error if the model (or other calls) did not run successfully

* allow the output file to be called output.nc or output.0000-01-01_00.00.00.nc in run_mpas function (not applied to the run with restart function)

* allow the field used for RMS to be 2d or 3d.
Initial add of features and tasks for landice core
Return to basedir if external calls fail

To make sure the pwd is world.basedir when all functions complete, I've
replaced the assert's I used before regarding external calls with
try/except/raise where the pwd is changed before raising the error.
This uses the check_call method of the subprocess module which throws an
error if the return code of the external call is not 0.
Merge pull request #1 from matthewhoffman/add_landice

Add landice/ update mpas_tasks