Add MG utility functions
Implement orientation of cells between coarse and fine

Provides coarse to fine cell map with consistent ordering of the fine
cells in each coarse cell.  Additionally provides the vertex permutation
of each fine cell onto a specified "reference".
Implement cell node map creation for generic FSes

Having prescribed the cell orientation and vertex permutations, we can
compute a cell_node_map from coarse to fine FunctionSpace.
Create get_unique_indices in mgutils

Previously only inside map futzing
Return PyOP2 kernels from mgutils.get_XXX_kernel
WIP: Use new utilities for restriction, etc...