- Add Util class, and add getRandomCellNumber() method.
- Update Board class, add setCellValue() and getCellValue() methods to set/get board cell value.
Update Util class, add getRandomValue() method to randomly return 2 or 4
Update Main class, add setRandomCellValue() method to randomly populate a cell with 2 or 4
Update Main class, call setRandomCellValue() towice at game start to initially populate 2 random cells with 2 or 4.
-Update Main class, add validUserInput() method to make sure user entered a valid input "l, r, t, d, or x".
- update Board class, add signature of rotateLeft(), rotateRight(), rotateTop(), and rotateDown() methods.
- update Main class, check user input and if it is valid then call the appropriate method on board object.
Update Board class, add isGameOver() method to return true if board is full, or false if still there is at least one empty cell.
- update Main class, check if game is over by calling isGameOver() method on board object.
 Update Main class, set random cell value after each move.
Update Main class, update setRandomCellValue() method to exit after max number of trials to make sure it exits if borad is full.
-Update Main class, add userScore variable to store user score, it is initially set to 0.
- update Main class, display "Game over!" message to user when game is over.
update Board class, implement rotateLeft() method.
- Add Test class, and implement testRotateLeft() method to test rotateLeft() method in Board class.