More fine-grained timing of mesh creation
Add profile decorators for solve and assemble
Add profile decorators for mesh creation
Set RPATH to Python library directory
Merge pull request #362 from firedrakeproject/profiling

Add profile decorators to important functions and more fine-grained
timing of mesh creation.
Add shorthand notation for RHS assembly with bcs

This makes

  b = assemble(L, bcs)

equivalent to

  b = assemble(L)
  for bc in bcs:
      bc.apply(L)
Add test case for RHS assembly with bcs
Override default petsc4py error handler

We /really/ don't want PETSc errors to be silent, so install an error
handler that calls MPI_Abort if an error occurs.
Document bcs argument for assemble
Merge pull request #368 from firedrakeproject/rhs-bc-apply

Allow specifying bcs to apply with vector assembly
Activate extruded interior facet integrals in parallel

Now that the sparsity is built correctly in MPI, we can remove the
restriction that interior facet integrals are not allowed on extruded
meshes.
Add parallel extruded 2D advection tests

This just takes the existing serial tests and runs them in parallel
too.  Tests interior facet integrals in parallel on extruded meshes.
Update assembly cache tests to PyOP2 changes
Merge pull request #369 from firedrakeproject/mat-zeros

* mat-zeros:
  Update assembly cache tests to PyOP2 changes
  Add parallel extruded 2D advection tests
  Activate extruded interior facet integrals in parallel
  Override default petsc4py error handler
Travis: fix install order
Add test that empty exterior facet set works
Create empty arrays for facet lists rather than None

It is possible that some processes do not own any exterior facets when
running in parallel.  In this case we should still arrange that the type
of the exterior_facet_node_list matches.  To whit, create an empty array
of the appropriate data type, rather than using None.
Merge pull request #373 from firedrakeproject/fix-empty-facet-list

Fix empty facet list
CSS for hints
Store permutation from new to original cell numbering

We need this to back out the correct coarse to fine cell maps in a mesh
hierarchy.