Renamed from shelve -> stash, fixed invalid Repository metaclass syntax

Nosetest cases still are not passing for me, but only because of path issues. Prior to patch, code refused to work in Python 2.7 due to metaclass syntax, Repository(object, metaclass=ABCMeta):