added getall method: returns list of all (top-level) keys
in self.load location = os.path.exanduser(location) so we can expand paths without failing silently