Add a functor class for exact solutions and similar
In ODEProblem add element_pt() function
Use new SolutionFunctor instead of various function pointers

Also:

* Use exact solution stuff from main cli args in ode
* function pointers in ode elements now public (easier to work with)

(both hard to separate from main change)

Probably still some tidying up to do with names..
Use nodal difference for calculation of error norm
Fix small memory leak with exact solution functor
Make InitialConditionFct a const reference
Rename fpt -> pt where we are now using a Functor
Move smart_cast_preconditioner(..) into sum of matrices header
Simplify logic in smart preconditioner cast
Remove unused RowColVal struct
Remove unused function "small(...)"
Move my_general_header.h -> my_cli.h
Clean up header includes in my_cli.h
Move MM problem args to it's own header
Move llg specific factories to their own header
Move functions from LLGFactories namespace into llg_factories.h
Remove unused function pointer Phi_1_flux_mesh_factory_fct_pt
Move micromag_factories to oomph_factories
Rename MMArgs -> LLGArgs