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