Added exception class for key collisions.

The new class, KeyCollision, will be thrown (this
hasn't been implemented yet) when a user attempts to
insert a new key if that new key is already in the
dictionary.
Early (non-working) stage of unbalanced binary tree implementation.

These are the first steps toward creating an unbalanced binary
search tree dictionary implementation. But, again, this is
not yet working.