Move interpolator.h to oomph-lib/src/generic
Moved many large functions to .cc files

Various fixes needed including:
* Removing "using namespace" from global namespace
* Rewriting header includes
* inline global functions (even within namespaces)
* Removing some macros (used for magpar)
* Forcing template builds
* Removed some unused headers
* Fixing some include guards

Also put micromagnetics headers into a sub folder of build when doing "make
install".
Improve and add new energy-related integral functions

* Add energy derivative integrals

* Change energy integrals to be properly non-dimensional

* Add optimisation option: can pass in interpolator to use
Improvements/fixes to magnetic parameters

* Correct non-dimensionalisation of exchange and anisotropy fields
  See write-up appendix on non-dimensionalisation.

* Change mu_0 to be a parameter rather than a fixed constant
  So that we can set it to 1 in non-dimensional cases.

* Add function to get easy axis along whichever direction
  Faster and all that is needed most of the time (due to taking dot product
  then squaring).

* Simplify factory functions by writing some in terms of others
Add effective damping calcualtions and output

* Use analytical functions to calculate dE/dt (for accuracy)
  Rather than finite differencing it, which seems to give the wrong
  answer. m and phi time derivatives are needed but these can be got using
  the same machinery as within the Newton solve code.

* Store in class and write it to the trace file

* Not yet done for magnetostatics
Update micromag_energy test to work with non-dimensional energies
Use a better mesh for cueboid energy tests
Fix an absolutely stupid mistake in copying m array into a vector
Add function to check array-based interpolator against vector based interpolator
Add command line flag to choose integration method for BEM integrals

Also add an automatic check to make sure we don't use analytical method for
2D meshes (doesn't work).
Prevent regeneration of git_version.h by make if not on a new version

Avoids unnecessary rebuilds.