add stereoBM function
remove the OpenCL define
Add ocl::SURF accurate test.

The test cases are ported from gpu module (masked version is still
missing).
Key point direction definition is synchronized with cv::SURF.
nonfree module dependency is added into ocl module's cmake file.
fix warnings on Linux
Remove unnecessary HAVE_OPENCL macro block.
Merge remote-tracking branch 'upstream/2.4' into 2.4
Merge pull request #631 from bitwangyaoyao:2.4_stereo
Merge pull request #632 from pengx17:2.4