ST3 maintenance
Updated movement

Overhauled Board to handle a lot more of the grunt work for moving
tiles. My implementation thus far only works on moving tiles up but it's
doing a pretty good job of moving all of the tiles on the board
correctly and even merging tiles. There's some kind of bug where tiles
of different values get merged but I'll work that out later.

Removed a lot of methods from Tile since it isn't doing so much of that
work anymore.  All of the convoluted stuff Tile used to determine if it
could move in a direction and if that movement could result in a merge
was removed and completely rewritten (much more clearly, I think) in
Board.