Extend side and corner structures to three dimensions
Improve function name
Improve method names (don't clash with data members)
Find active nodes in top surface and calculate coordinates
Protect members from direct access
Use symbolic instead of hard-coded value for invalid ref.
Enumerate all sides in a quadrilateral
Cartesian coordinate for faces

Based on the Cartesian coordinate for an element, and a relative side
of the face within this element, we can calculate a Cartesian coordinate
for the face which gives a total enumeration of all possible faces in
the grid.
Make directions comparable (branch based on direction)
Complementary functions for dimensions and directions
Add 1D for completeness
Find active faces and set up grid topology