Added parallelization to MonteCarloPlayer
-we can now specify how many threads should MonteCarloPlayer use when deciding on a move
-added PlayerNeuralNetwork class and libraries that it depends on, but haven't yet implemented makeMove method