OPENDJ-1628 - Simplify Index hierarchy and remove Indexer classes
* DatabaseContainer / Index
- now interfaces providing minimal set of methods
* NullIndex
- implements Index interface and forces us to override new interface methods when they are added
* AbstractDatabaseContainer
- common base class for all indexes (was DatabaseContainer)
* DefaultIndex
- implementation of id2children, id2subtree, and base implementation for attribute indexes
* AttributeIndex
- includes MatchingRuleIndex inner class which is used for all matching rule based indexes and presence indexing (presence is now implemented using a specialized Indexer)
- pushed down all attribute index specific logic from Index API to AttributeIndex/MatchingRuleIndex
* IndexBuffer
- remove feature envy between this class and Index
- used consistent method/field/paramet names throughout.