Fix firedrake-clean imports

Mesh-related cache clearing now comes from utility_meshes.
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
refactor entity_dofs flattening
Revert "redefine FunctionSpaceBase._dofs_per_cell"

This reverts commit e1f8863af1563516ce71de544f0cb10d355cdeb5.

Conflicts:
	firedrake/functionspace.py
ditch old dmplex.get_cell_nodes

Code for quadrilaterals turned out to be so general
that it can even handle simplices with ease.
quadrilateral utility mesh creation
save mess before further experimentation

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