A bunch of refactoring and addition of unit tests
Added additional CardStack tests and fixed bugs.
Added TryDrawFromTop test.