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 in imgproc module
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 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
correct upper bound for maximum number of labels for 8-way connectivity
mouse_and_match.py missing import cv2
Merge pull request #1850 from ilya-lavrenov:pthread_mutex
Merge pull request #1864 from berak:mouse_and_match
Update system.cpp

Fixed to use native C++ instead of C++/CX although it does require significantly more code, it goes along with the spirit of keeping the project in native C++

Update system.cpp

Cleaned up whitespace, removed redundant code and added edge cases for string cleanup

Update system.cpp

Fixed compiler warning over comma operator clause

Update system.cpp

NULL initialization

Update system.cpp

Fixed use of WindowsGetStringRawBuffer which returns internal pointer to buffer

Update system.cpp

Support C++/CX and native C++ through conditional compilation.  Fixed style - long lines, comma operators, long conditional.  Optimized string usage to use reference.

Update system.cpp

Fixed conditional compilation around include and library

Update system.cpp

Fixed trailing space

Update system.cpp

Cleaned up whitespace, removed redundant code and added edge cases for string cleanup

Update system.cpp

Fixed compiler warning over comma operator clause

Update system.cpp

NULL initialization

Update system.cpp

Fixed use of WindowsGetStringRawBuffer which returns internal pointer to buffer

Update system.cpp

Support C++/CX and native C++ through conditional compilation.  Fixed style - long lines, comma operators, long conditional.  Optimized string usage to use reference.

Update system.cpp

Fixed conditional compilation around include and library

Update system.cpp

Fixed trailing space