Preemptive Bug Fixes

Code now checks if a collection is empty before it starts pulling cards
out. In addition decks are now ArrayDeques instead of ArrayLists to
allow them to be manipulated at both ends. Remember the front(index 0)
is the top of the deck.