Change from namedtuple to custom recordtype

(Mutable named tuple)

also make it clear that OrderedDict is custom, so renamed to
OrderedDictionary