Fixed include ordering for Tornado

Complains if anything is included before mpi.h

Signed-off-by: Ben Dudson <bd512@york.ac.uk>
Added averageX function to mesh and smoothing.hxx

Averages Field2D and Field3D variables over the X dimension
Added Python utilities (calculus, spectrogram)

o calculus.deriv2D   - 2D gradient using convolution

o calculus.simpson_integrate    - Integrate 2D data using convolution

o spectrogram.spectrogram  - Creates spectrograms using the Gabor transform
Merging changes from Jarrod

o averageX function
o Python routines
User manual: Added small section on restarting runs
Starting a GlobalFields class

Will provide a way to gather and scatter entire fields onto a single processor.
Uses include interfacing to other codes, and maybe parallel I/O.
Adding test case for GlobalField classes

Will check the gather/scatter facility
Small fix to Euler solver

Squash output message every time the restart file is written
by writing to default file name, rather than re-setting the name
every time.
User manual: small section on writing data files

How to create a new data file output, write the data, and read into
Python or IDL.
Adding timestep monitor to solvers

To monitor or save data after every timestep, a monitor can be added
to the solver. For this to work with PVODE & CVODE, they need to be run
in one_step mode, currently off by default. To enable, use the setting:

[solver]
single_step = true

(or command-line "solver:single_step=true")
Improved python showdata routine to allow animation of multiple plots simultaneously
Timestep monitor in new API

To enable, must set

[solver]
monitor_timestep = true

For CVODE and PVODE solvers, this switches to single step mode.

In the new API based on PhysicsModel, the monitors are protected
virtual functions which can be implemented by user code.

See examples:

monitor        : Old (C-like) API
monitor-newapi : New (OO) API
User manual section on monitors

Added brief description of timestep monitoring
Improved python showdata routine

Luke Easy's improved showdata code. Doesn't affect core code, so
merging straight into master
Fix for CVODE solver

Only tested PVODE, but had typo in SUNDIALS cvode interface
More updates to GlobalField classes

Not yet complete, but close...
GlobalField2D working

2D gather and scatter of data working. Some typo in 3D version,
so not yet working
Fixed GlobalField3D::msg_len

Forgot to add zsize when copying from 2D version
User manual section on GlobalField

Brief description of using GlobalField variables
Adding GlobalField classes

Gather / Scatter operations on entire mesh. Can be used for
coupling to external codes, may also be useful for I/O from a single
processor.

Doesn't affect any other code, so adding directly to master.