Added a test for makeMove in AIRobotController

Also added so that placeCards doesn't cause StackOverFlowError. Instead
it will throw a ToFewCardsException to notify developer that the deck
might be empty.