First working BoardModel

Added functionality and tests for:
 - Make valid moves only
 - Removes mathced pieces
 - Pieces above removed pieces fall down
 - New random pieces are generated