stopped dupe keys when assigning new value to existing key

a bug caused an internal structure to have duplicates if a key was changed using two different access methods.  This caused the 'keys_breadth_first' method to return duplicate keys.  This test insures that condition doesn't still trouble 'keys_breadth_first'