Modifying Python routines for Python 3

So far only changes to print:

print ""  -> print("")
Modifying preconditioner handling in solvers

Need to enable PhysicsModels to use preconditioners.
Moving the callback function handler into Solver,
rather than separate implementations
Update import_data_netcdf.m

Recently I found that different versions of netcdf libraries save data in different format. 
This now can automatically detected by present version of code.
Update import_data_netcdf.m

One more line added which was missed in previous change.
This let MATLAB know the format of netcdf version.
Bugfix for Grad2_par2 on staggered grids

Metric contributions to Grad2_par2 need to be calculated at outloc if outloc!=CELL_CENTRE. This does interpolation each time Grad2_par2 is called which is not optimal: it would be better to calculate interpolated metrics once at all locations (or at least all used locations) and store them somewhere. However, Grad2_par2 does at least return correct results now.
Merging preconditioner API changes
Small bug fix to Python collect

When finding a variable name, the original name was
returned, rather than the corrected one. Only mattered
when an invalid name was used, and resulted in failure.
Merging Python3 changes

Modified print statements only

Conflicts:
	tools/pylib/boutdata/collect.py
Adding missing include to gyro-gem example.
Added RK3 SSP method

Solver:type rk3ssp

3rd order explicit RK scheme, Strong Stability Preserving

www.cscamm.umd.edu/tadmor/pub/linear-stability/Gottlieb-Shu-Tadmor.SIREV-01.pdf

Spatial TVD schemes can become oscillatory if discretised
in time with a non-SSP scheme. These schemes aim to retain
the stability properties of the Euler method, but with higher
accuracy.
Merge branch 'pygridgen'
Adding RK3-SSP solver
Added example of using DataFormat
Merging improvements to Matlab import_data_netcdf

By Sanat Tiwari, IPR, India
Adding instructions for installation on Archer

Small paragraph in the user manual, and give module
load instructions for setting up the environment
Merge branch 'master' of https://github.com/boutproject/BOUT-dev
update datafile.py

‘int64’ descriptor was added to avoid issues with NetCDF 3