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.
Merge pull request #1859 from SpecLad:string-plus-equals
Merge pull request #1835 from SpecLad:windows-xadd