Support for indexes on custom attribute types

Issue #3857
Fix for indexes on custom object types that do not resolve to any AttributeType but implement Comparable.
Key change is at IndexImpl.saveEntryIndex (lines 80-85). Even if attribute type is null we can still use an index.
Test: QueryIndexTest.testResultsReturned_whenCustomAttributeIndexed
Split up QueryBasicTest into multiple files.
There's just one id converter per index and created only with custom types; so it won't change much. I think if you wen't down that route IdentityConverter could be made into a singleton but hardly worth it.