Priority Queue Progress + Switch to HashSet

Made progress on PQ, but realized two things:
1. Hints said that we should keep track of every Node's value (each
explored or computed state's evaluation) so we can sort the children of
that node (the different moves) by value.
2. A HashSet is perfect for this, since it is O(1) for every operation,
and if you look at the BoardModel class, it implements HashCode, the
method needed to use HashSet! (basically the hash key function).

Therefore, my intent is to use this approach and abandon the PQ sorting
method altogether.