updated spec
changed rebuild_indexes to rebuild
various changes (not backward compat)
various test cases
require the timeout class
removed migrate function (can be achieved using hashish_rebuild)
some docs
added an optional block which can be used to reconfigure during rebuild