Added functionality for simulation of double heat pulses.

Different temperature profiles are available for single/multiple pulses. Also added parameters for phonon and electron temperature, and for each pulse.
Added reset statistics to hysteresis loop program
Merge branch 'bugfix-2.x' into develop
Implemented material specific temperatures, fields and oscillating (fmr) fields.

Added control flags and input/output options. Not yet implemented for Monte Carlo calculations.
Removed superfluous initialisation of simulation variables and added appropriate defaults.
Bugfix: Amended error reporting for constraint variables.
Merge branch bugfix into develop
Added units of micro Tesla (uT) to available units
Tidied up input file names for applied field input parameters. 

Also added new options for control of field direction by angle and unified names for input/output of field parameters.
Changed minimum resolution for hysteresis loops to microtesla. Also changed equilibration period to use the equilibration applied field.
Bugfix: Corrected range check for applied field phi angle
Added function to output material specific field alignment
Added initialisation of grain of stream to first call of grain output
Added core-shell routines for all particle shapes, with flag to control fill behaviour.
Bugfix: Added missing output functions for screen output.
Renamed output function to avoid conflict with develop branch
Merge branch 'bugfix-2.x' into develop

Conflicts:
	src/utility/vio.cpp
Added new functions for allowing new time units for input files and also written new function to simplify value and unit checking for variable values.
Bugfix: Corrected bug in allowable range for applied field
Bugfix: Corrected system dimensions giving rise to incorrect periodic boundary exchange.