Create Cell.cs, Update Board.cs

I added the Cell class, some private helper properties and methods to
the Board class, and rewrote CanMoveInDirection method.
Update Board

I implemented the remaining methods of the Board class, and added a few
methods/properties of my own.