return True iff key is marked done.

        :param key: a json-serializable object.

def done(self, key):
        '''
        return True iff key is marked done.

        :param key: a json-serializable object.
        '''
        # key is not done b/c the file does not even exist yet
        if not os.path.exists(self.path):
            return False

        is_done = False
        done_line = self._done_line(key)
        undone_line = self._undone_line(key)
        with open(self.path) as fh:
            for line in fh:
                if line == done_line:
                    is_done = True
                elif line == undone_line:
                    is_done = False

        return is_done