refactored Sudoku.scala, added block validator and added random generator in test