Add Land ice features, make mpas-lettuce work seamlessly with different cores

This pull request includes adding a terrain.py file to add pre/post hooks and absorb functions.  I've added a post-scenario hook that prints an optional information message and resets to the world dir.

lettuce.config has been replaced with lettuce.ocean and lettuce.landice.  The 'given_a_setup_test_environment' function in mpas_tasks.py now determines which config file to use and stores its name in world.configfile.

Finally I've added a submodule for the landice tasks.