This release adds `automap.NonUniqueError`, which replaces `ValueError`s that were previously raised when adding duplicate values. For backward-compatibility, `automap.NonUniqueError` has been made a subclass of `ValueError`.
It also refactors many of the `automap` internals, resulting in more maintainable code and better memory management. As an indirect result, `AutoMap` and `FrozenAutoMap` now support the full set of rich comparison operators (exhibiting the same behavior as a comparison between lists of their keys).