Purge uses of _ufl_cell
Re-implement ufl_cell

Also ensure that _ufl_cell is never read from except in ufl_cell().
Fix UFL intersphinx
Merge pull request #392 from firedrakeproject/ufl_cell_fix

* ufl_cell_fix:
  Fix UFL intersphinx
  Re-implement ufl_cell
  Purge uses of _ufl_cell
Merge branch 'master' into quadrilateral-mesh

Conflicts:
	firedrake/functionspace.py
Explicitly ask for ILU shifts on singular solves

PETSc changed their ILU defaults to no longer do any shifts to avoid
zero pivots.
Merge pull request #393 from firedrakeproject/fix-petsc-ilu

* fix-petsc-ilu:
  Explicitly ask for ILU shifts on singular solves
cell_node_list for quadrilaterals
Merge branch 'master' into quadrilateral-mesh