Detectors: Implementation of a simple .stat file detector writer

This requires the callback functions to evaluate scalar and vector
fields at the particle position and currently only works for
non-binary files.
Detectors: Adding binary output and remaining initialisation modes

Lagrangian detectors are not yet implemented, so static ones are
created instead.
Detectors: Add skeleton for LagrangianParticle class

LagrangianParticle inherits from Particle and overrides view(), which
requires the ParticleList to only store pointers to Particle objects.
Detectors: Add Lagrangian advection algorithm

Basic implementation of the original lagrangian advection algorithm,
including stage computation and parametric coordinate tracking.
Currently only performs RK4 from static parameters and probably
wants some more optimisation.
Detectors: Establish enclosing element outside of constructor

This allows us to conditionally initialise particles in parallel.
Detectors: Detect if a particle is leaving the local sub-domain

Now we only need to send it to its new owner and continue tracking.