AbstractSingletonService: use more specific type

The LazyObjects instance will definitely return a collection of objects
of type PT, not just Object. This distinction is important now that the
ObjectIndex is more selective about which pending objects it resolves.
ClassUtils: move deprecated methods to the bottom
Add utility class with generic type methods
WIP