Redid some of the logic behind AttrDict. It now raises AttributeError
when necessary, instead of giving the incorrect KeyError response.
This has restored compatibility with copy.deepcopy().
This code should split things more neatly than the current Pesterchum
code, thus fixing a number of irritating bugs. Ideally, when finished,
it will be easier and cleaner to work with as well.