Add iterative deepening timed search

This commit adds a time limit to the negamax
search for a bot move. Also, state class methods
have been reordered for sanity.