Improve performance of GameState copy constructor.

AI code makes tons of copies of GameState.
Run the AI in a separate thread.

gcc on Windows doesn't support C++11 threading yet so I needed to use
Boost threads instead.
Simplify Boost library linking.