Add advection-diffusion test (split form)
Add advection-diffusion test (non-split form)
Merge pull request #268 from firedrakeproject/port-pyop2-regression-tests

Resurrect advection-diffusion tests from PyOP2 regression test suite.
Add script to launch livereload server for docs
Add targets buildhtml and livehtml to docs Makefile

The former is required to avoid an infinite rebuild loop when the
livereload server is running: it is watch source to rebuild the docs
but also firedrake to rebuild apidoc. However the html make target
first invokes apidoc and thereby triggers an infinite loop. Hence add
a target buildhtml that does not depend on apidoc.
Remove capsulethunk.h

Not needed any more since we're not using capsules anywhere.
Remove interval.py

No longer needed, since we build intervals in memory.
Remove gmsh2triangle.py

No need for it any more.
Split core_types.pyx into parts and remove

The naming was a legacy of Fluidity interfacing, it makes more sense to
split its pieces into functional parts and migrate them to appropriate
other modules.
Update gitignore
Move function space classes to separate module
Move Function and Constant to separate modules
Move Matrix type to separate module
Move Halo type to separate module

We can now remove firedrake.types.
Rationalise module imports in firedrake modules

Third-party things first, then pyop2 imports then firedrake
imports (alphabetised).
Avoid from foo import bar between different firedrake modules

To avoid circular loads, firedrake modules now always import other
firedrake modules directly, rather than importing names from them.  The
exceptions are the parameters and petsc modules (which do not themselves
import any other modules).
Minor doc linking/formatting fixes