Modified the swap method to fix the character duplication issue we had.

E.G.  Of the old way
Say we have these mappings in our key dictionary
     'a' : 't'
     'p' : 'z'

We run the method with the following parameters
     character = 'a'
     value = 'p'

We will get this as the result:
     tempValue = self.keyValues['a'] ==> 't'
     self.keyValues['a'] = 'p'
     self.keyValues['p'] = 't'

So we end up with the mapping:
     'a' : 'p'
     'p' : 't'
And have a 'p' somewhere else in the dictionary as well.