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.
Adding constants in SI units to constants.hxx

In namespace SI, so SI::me is the electron mass in kg.
Python modules for BOUT++ pre-processing

Open for further testing
README update

include execution info
Update to the create_grid.py

Corrected the manipulation of contour lines for when there are more
than one contours for the same value. It works both ways now. There
must be a more elegant way to do this.
Update to create_grid.py

Proper fix for the previous error.