Moves the thread pool code from Tensor into Core
This is a first step towards making the thread pool available for the whole of Eigen. It does not implement .device() for matrices.
.device()