Another massive rewrite of the state functionality. Extracted interface IBlackjackDealer for testability. Made the states protected internal so that the test class can see them for testing as I need to verify state transitions in the tests and this was the cleanest way given the options.
Fixed broken test.
More work on getting the tests back in. The tests are looking far far cleaner with this design and the interfaces also are better defined.