first refactoring
Introduction of IndexValue typeclass to enable IndexValues other than Occurrences.

Datatype IntermediateValue provides a common interface for IndexValues.
This implementation is an early stage and IndexValue should improve in the future.

Also there are some rough edges.
separate module for IntermediateValue and IndexValue
refactor RTree index instances.

Removed InvertedIndex RTreeIndex, because it is a RTree not an InvertedIndex.
Also exchanged Occurrences with DocIdSet in RTreeIndex implementations.
Thatby: Values in RTreeIndexes are now only a Set without any Position information
Refactor special index instances to not use Positions anymore, but DocIdSet instead.
Moved them to PrefixTreeIndex module, because without using Occurrences,
they are barely InvertedIndex implemenations anymore.
fix tests - some tests fail
missed file
add testcase showing new bug
bugfix
cleanup
cleanup and bugfix
add simple prefixtree index using only DocIdSet instead of bigger Occurrences.
add two new index implementations to list of default implementations

1) SimplePrefixTreeIndex
Like the InvertedIndex, but stores only DocId's as a DocIdSet as Index Values.
There are cases where text search is wanted, but position information is irrelevant.
This implementation can be used for this cases to save some memory space

2) Geospacial index
Both the implementation based on the InvertedIndex and based on the RTree are now
in the list of default implementations.
add new cxtypes to default list