- TIL that dict.keys() in py3K is not an iterator, it is an iterable
view.  So copy collections.OrderedDict and use MutableMapping to set up
keys, items, values on our own OrderedDict.