Do not check non existent geometries
This MR introduces hasGeometry<Grid,codim> and makes sure that the grid check does not test these geometries for subentities.
It turns out that all the grids I use do implement all geometries (my previous claim was an oversight).
Unfortunately I had to base this on !114 (merged) which needs to get merged before. I will mark this as WIP until that time. Closes #14 (closed) Closes #40 (closed)