Simplified the Windows implementation of CV_XADD.

_InterlockedExchangeAdd is a Visual Studio intrinsic that's available
for all architectures and in all VS versions that we care about. It's also
faster than the underscore-less function, since it's an intrinsic.
We also don't need to declare it ourselves.

It is, however, a Visual Studio-specific intrinsic, so I changed the
preprocessing condition accordingly.

Fixes <http://code.opencv.org/issues/3365>.
fixed kernel compilation
Merge pull request #1841 from ilya-lavrenov:ocl_kernel_compilation
fixed kernel compilation in imgproc module
eliminated warning C4267
Merge pull request #1848 from ilya-lavrenov:warn
Merge pull request #1847 from ilya-lavrenov:ocl_imgproc_fix
changed eps in Retina_OCL test
Merge pull request #1852 from ilya-lavrenov:ocl_retina
recursive mutex for linux
Gave cv::String appropriate += operators.

Note that since String is a reference to an immutable string,
this doesn't actually change the string; it just replaces *this
with a reference to the concatenated string.
Replaced most of the instances of "s = s +" with "s +=".

This resynchronizes master code with 2.4. I say "most", because I might
have missed some due to different spacing; I'll deal with those
instances later if I find them.
ocl/core: added prototype for tests
fixed error in setting kernel arguments
Merge branch 'master' of https://github.com/Itseez/opencv.git
Merge pull request #1861 from ilya-lavrenov:ocl_args_fix
Merge pull request #1857 from alalek:ocl_ta_tests_infra
ocl: disable tests
Merge pull request #1862 from alalek:ocl_disable_tests
Merge branch 'master' of https://github.com/Itseez/opencv.git