Board Manipulation

Added logic to determine if a move is valid; should be exhaustive.
Compiles, testing has not been completed

Added board_get_at and board_set_at. Changed types to only require
board, indices, item to set in the case of the latter. Pieces/piecelist
appear superfluous (we were probably being too OO)

added functions to do quick list-gets and list-sets to manipulate board

listSet currently errors in the C compiler; likely the loop function and
its if statement are too complex for something as dumb as patscc