Merged back together SphParticle and SphIntParticle
Removed grid neighbour search from code (Superseded by BinaryTree)
Created Particle structure and made SphParticle inherit from it
Merge branch 'refactoring' of https://github.com/gandalfcode/gandalf into refactoring
1 - Split Simulation class into 4 distinct classes, NbodySimulation, GodunovSphSimulation, GradhSphSimulation & SM2012SphSimulation
2 - Fixed problems with ProcessParameters in new simulation classes (although not all fixed)
Fixed parallelisation private variable problem in integration routines
Merged conflicts
Fixed all merging bugs between master and refactoring
Partial commit on the long, long way to the templating of SphParticle type
1. - First stage of refactoring SphNeighbourSearch to make more generic for additional algorithms - Added ParticleType template.
Merge branches 'refactoring' and 'refactoring' of github.com:gandalfcode/gandalf into refactoring

Conflicts:
	src/SimulationIC.hpp
	src/Sph.cpp
	src/SphLeapfrogDKD.cpp
	src/SphSimulation.cpp
Splitting SphNeighbourSearch classes, in particular to split KDtree from SPH neighbour search routines.  Intermediate commit; currently not working.
Merge branch 'refactoring' of https://github.com/gandalfcode/gandalf into refactoring
1. - Split KDtree from main SphNeighbour class
2. - Added ParticleType template to SphNeighbour class; currently compiles (but untested)
3. - Modifed sinks with new template (currently doesn't compile)
Added missing tree files
Fixed compilation of sinks
Finished (?) templating with particle type; now compiles and runs fine with brute force
Quicker implementation of GetParticleIPointer
The tree now uses the correct particle type
1. - Fixed new KDTree memory allocation calls
2. - Re-added DeleteDeadParticle function calls in tree