Updated interface for Board and Square

Board: added swap, withinBounds, changed lock to setLock (which allows
locking and unlocking)
Square: added setPos
BoardManip: minor changes, updated swap to use Board::swap