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>.
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.
correct upper bound for maximum number of labels for 8-way connectivity
fixed ocl_arithm_op; fix for 3-channel images is needed
bugfix in deallocate
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
Merge pull request #1859 from SpecLad:string-plus-equals
Merge pull request #1835 from SpecLad:windows-xadd
Merge pull request #1818 from GregoryMorse:patch-2
Merge pull request #1863 from nevion:master
Merge pull request #1868 from KonstantinMatskevich:umat_bugfix
Merge pull request #1866 from ilya-lavrenov:ocl_fix2