Added option to set the number of threads for traincascade

The previous behavior of opencv_traincascade was to use as many threads as available and there was no way to limit the number of threads to use. 

This was very annoying to me because I am running opencv_traincascade in a HPC cluster and I need to limit the number of threads that opencv_traincascade uses.

I added an option (``--numThreads``) that specifies the maximum number of threads to use during the cascade training. The maximum is set through ``cv::setNumThreads()``. If the option is not specified, the default number of threads is used (read from ``cv::getNumThreads()``). Additionally, I updated the user guide to reflect this option.