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.