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
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
wrap finite element creation to support quadrilaterals
redefine FunctionSpaceBase._dofs_per_cell

It used to be the vector of DoFs per entity dimension per cell,
but only their sum was used.
Now it is a single number representing the sum.
make _dofs_per_entity calculation quad-compatible
cell_node_list for quadrilaterals
save mess before further experimentation

DO NOT PUSH THIS COMMIT!
reordering mess
"fix" _cell_closure