Implement IIndex<,> object model for type-safe.  Fixes #163.

Note that multiindexes aren't supported with the type-safe model yet,
and will need to continue to use the indexName overrides.