SortIndex optimizer:
  - remove SortNodes which are superseeded by an IndexRangeNode
  - calculate the properties of an SortNode before entering the walker
  - add abstraction class
SortIndex optimizer: clean up namingschemes, add documentation.