Make the threadpool honour the int argument for number of elements to process
We have two cases, the original issue with a single thread with more than 2^31 elements and the less likely case when more threads also exceed 2^31 elements per thread. The strategy is simple, honour the contract of the map function and only pass in 2^31 elements per call by restricting the chunks to INT_MAX.
Fixes #727 (closed)
Edited by Peter W. Draper