Get rid of some old driver codes that are no longer needed
Move llg args etc. to the llg_problem header

So that other problems don't end up including the entire micromag elements
etc. for no reason.

Also needed to fix the circular dependencies in micromag elements and
micromag flux elements by moving some functions to .cc files.
Small changes

* use set -o errexit not ext in validate script

* Remove unecessary variable in boundary_element_handler.h
Generalised unsteady heat problem + driver initial commit
Represent parameter lists by a dict so that we can easily not specify some args

* This is necessary for allowing different drivers to run using the same script
  Otherwise e.g. a list of "applied fields" is required for all drivers
  even unsteady heat, which is stupid.
Refactor parsing/plotting script

* Combine multiple plot vs time functions into one

* Rename some values

* Try to allow for non-magnetic data with try/catches
  probably not the best way to do it...

* Don't require '-C' before parse directory in command line args

* Also small parameter changes in parameter sweep script
Extract superclass of LLGArgs and SemiimplicitArgs into MMArgs

Also needed to modify self_test/llg_jacobian/validata/*/info.gz because
ordering of output of command line args has changed.
Add to trace file output: LTE estimate from timestepper and a trace value
Add specification of 'micromag' lib dependency to bem_field_test Makefile
Update includes for polynomial_interpolation_test
Updates to unsteady heat stuff

* Fix source function: was -1* what I thought
  Because oomph-lib has the source function on the opposite side to my
  llg python code.

* Refine grid
* Fiddle with parameters
* Add some braces in vector helpers (not worth its own commit)