Cleanup.
Some refactoring, and implemented key indices except for re-indexing and auto-removal.
Move utils to sub-package.
Implemented re-indexing.
Finished auto-removal from key indices. All tests pass. All features implemented. Ready for refactoring/cleanup. Then transactions.
Some refactoring.