[IdentityGrid] Fix infinite recursion by Implementing IndexSet::types()

IdentityGrid wasn't correctly ported when IndexSet::types() was
introduced. Calling that method thus resulted in an infinite recursion
due to the Barton-Nackman trick.

This patch adds the necessary implementations and also correctly
forwards the Types type returned by types() from the host grid to the
interface class.

While I was at it, I also fixed the missing forward of the IndexType.