added indexing abstractions, with Dtree and fingerprint implementations
added the Rewriting module