AuthenticatedDictionary.py: Contains an authenticated dictionary data structure.
Supports O(log n) insert, find, and delete, and maintains a hash authenticating
The data structure is set-unique; if the same data is in it, it always produces
the same hash, no matter what order it was inserted in.
The data structure is backed by a SQliteShelf database, and exposes a commit()
method that must be called when you want to commit your changes to disk.