[GridFunctionSubSpace] Fix generation of DOFIndices in LocalFunctionSpace of GridFunctionSubSpace

Until now, the implementation deferred the fixup of the DOFIndices required for
a subspace to the SubOrdering. Unfortunately, this strategy causes the return
values of LocalFunctionSpace::dofIndex() to be wrong.

This patch fixes the issue by explicitly specializing the LocalFunctionSpace
interface class for subspaces and injecting an additional intermediate base
class to do the DOFIndex fixup.

I initially tried to handle the problem by extending the transformation rules
for the GFS -> LFS transformation, but that doesn't work in this case because
the new LocalFunctionSpace nodes need to operate on the actual GridFunctionSubSpace
and fail if they get passed the proxied, underlying space.
Merge branch 'feature/fix-dofindex-in-subspace'

* feature/fix-dofindex-in-subspace:
  [GridFunctionSubSpace] Fix generation of DOFIndices in LocalFunctionSpace of GridFunctionSubSpace