Python DataFile: Disabling mmap for scipy.io.netcdf

If a netcdf file is closed, memory backing a numpy array can become
invalid. See:

http://comments.gmane.org/gmane.comp.python.numeric.general/57762

This applies to more recent scipy versions
Fix to CVODE solver: adds checks for whether boundary points should be included to CvodeSolver::set_abstol_values and CvodeSolver::loop_abstol_values_op.
Merge branch 'master' of http://github.com/boutproject/BOUT-dev
PETSc laplace boundary conditions:

Updated the 2nd order boundary conditions in petsc_laplace.cxx to be
consistent with the new conventions, i.e. boundary conditions set
half-way between grid cells.
New upwind derivative:

Added a second order accurate, staggered grid, upwinding
derivative.
New upwind derivative:

Fixed the velocity interpolation in VDDX_U2_stag to be the minimal 2nd order accurate version.
Added 2nd order upwind method
CVODE solver options

Added options to the cvode solver to set the maximum order of the
method (CVodeSetMaxOrd()) and to switch on stability limit
detection in the BDF method (CVodeSetStabLimDet()).

These may be helpful if the solver is trying to take high-order
timesteps and is limited by weakly-damped oscillatory modes: it is
possibly that turning on stability detection or reducing the
maximum order may help (orders 1 and 2 are A-stable and the size of
the instability region increases with order greater than 2).
main() functions now call MPI_Abort

When exceptions were thrown, previously the simulation could hang
if the other processes kept going. Solver caught exceptions, printed
an error message, and returned an error code.

Solver now catches and re-throws the exception. Handlers in main()
(both boutmain.hxx and bout/physicsmodel.hxx) now catch exceptions
and call MPI_Abort. This should then terminate all processes.
Adding MMS test of FCI in slab geometry

Sheared slab test case
Update to advection MMS test

o Changed solver options, so output timestep is solver:output_timestep
  Previously solver:timestep was used for both internal and output timesteps

o Modified Dirichlet O2 boundary condition for high-order derivatives.
  Doesn't seem to make any real difference
Merge branch 'upwind_2nd_order' of git@github.com:boutproject/BOUT-dev
Add help/usage message to command line args
Make BoutInitialise return an int and cause BOUT++ to exit if non-zero

Fixes segfault for some command line options