Add jump terms for dg advection terms.

Tested with P0-P1 and P1DG-P2.
NOTE: Also adds an additional bc term for advection for the CG case - applies the weakdirichlet at the inflow.
 Usually advection is negligable near the boundary (otherwise things would easily get unstable at flow
reversal), so I don't think this will change much - but I do think this correct.
Add P0P1 element pair.

Switch one of the tests to use P0-P1.
Fix weak_dirichlet bcs for eta with dg velocity.

Conflicts:
	opentidalfarm/solvers/coupled_sw_solver.py
Fixed the StateWriter so that the optimisation_iteration counter is
incremented in the correct place
Fix package install.
Bug-fix in tidalfarm power output and checkpointing.

Conflicts:
	opentidalfarm/reduced_functional.py