User manual section on command-line options and pnetcdf
Adding functions to FieldGenerator

For initialisation, creating fields. Added:

tan, asin, acos, atan (one or two arguments), exp, log
min, max

Updated user manual
Hypnotoad: Modifying local_gradient

method 2 was using linear interpolation, which resulted in steps
in the second derivatives. Changed to use a cubic interpolation.
IDA: Squash output on restart file write

Don't need to supply a file name, so now calls restart.write()
Added manual for elm_pb example
PetscLaplace solver preconditioning

The old FFT-based solvers (tri, spt) can be used to precondition
the PETSc Laplacian solver. This seems to work well for the
test-laplace2 and test-petsc-laplace tests.
Field2D: added missing msg_stack.pop()

Resulted in messages being left on the stack, and confusing
debugging output
Added PetscLib::cleanup()

Calls PetscFinalize if Petsc was initialised and not yet finalised.
This is now called in BoutFinalise.
Changing section separators for options

Colons now used rather than underscores. Previously command-line options
were specified e.g.

solver_type=rk4

but this caused problems with options containing underscores e.g. "max_timestep".
Now sections are separated by colons, this becomes

solver:type=rk4

and

solver:max_timestep=1.0

Sections can now be nested to an arbitrary number of sub-sections. Colons
are also used in BOUT.inp, so

[section:subsection]

or

[section:subsection:subsubsection]

etc. This is currently used in the test-laplace2 and test-petsc-laplace examples.

User manual updated
Bug-fixes for R-T example and Laplacian

o Putting filtering back into Laplacian inversion by default.
  Change broke some examples.

o Fixed R-T example to use Laplace() rather than Laplacian()
Fix for cyclone.py grid generator
2field upgrade: new names & external Phi0 field
Added Mathematica package to import BOUT++ data. To use:

 - Add 'AppendTo[$Path,"<full_path_to_BOUT>/tools/mathematicalib"]' to /home/jto500/.Mathematica/Kernel/init.m
 - Call 'Import["BoutCollect.m"]' in Mathematica

Then you can use e.g. 'f=BoutCollect[variable,path->"data"]' or 'f=BoutCollect[variable,path->"data"]'. 'bc' is a shorthand for 'BoutCollect\. All options supported by the Python collect() function are included, though Info does nothing yet.
Bugfixes to BoutCollect.m
Added Laplace3D solver interface

New class of solvers for full 3D problem. Interface follows
the same pattern (factory) as other solvers.

No implementations yet. Added bare bones of a PETSc implementation
Merging John's Mathematica collect routine
Added Mathematica collect routine to user manual
Fixed 2field external field initialization