Remove some Internal* abstractions

We have lots of boilerplate code that is unnecessarily abstracting
services ie InternalIndexShard and IndexShard or InternalIndexService and
IndexService. It's enough to have concrete classes for these core classes.
The cast is useless now? (There are a couple of other places that have this unnecessary cast)