Add a cache of the latest state on master branch.  Remove depth param on keys,entries,trees calls and replace with min_level, max_level params.  Refactored keys,entries,trees to use a non recursive implementation of iteritems that can traverse the tree in both depth first and breadth first traversal.  Added a boolean depth_first param to keys,entries and trees calls.