Made changes to node position switching method in Huffman Tree.

I've changed the node position switching method so that the work is now
split between the type of switch. There are two positions for the nodes
to switch positions in, the tree and the linked list.
Multiple Items Updated

* I rewrote the method for finding the node to switch positions with.
It's just a bit easier to read down.
* I added an ID attribute to the nodes to help me debug what's going on
with the tree.
* I fixed a small typo I did in the naming of the attributes in the
nodes. I used the wrong naming convention without thinking about it.
Started using the ID in the test output.