ADT.OrderedMapping: Fix duplicate entries, optimise and add substract.
New class ADT.OrderedMapping. This class emulates a mapping but will keep the order of the indices as they were added.