Fix T38303: same names with different case sorted unpredictable in the file browser.

The string comparison was in lower case, so the same strings with different case
were considered the same which can make qsort give different results on each
sort since it's not a stable sort. Now take case into account in comparison.
Fix T38300: Bevel didn't always reconstruct faces properly.

With new subdivision method for making the vertex mesh, we always
subdivide the edges between the new vertices around a vertex
(we used to not subdivide edges between two non-beveled edges).
This fixes a bug related to this change.
Fix T38302: sequencer animation data lost in original scene when copying scene.
Fix T38303: Inconsistent sorting of names in Append/Link view
Revert "Fix T38303: Inconsistent sorting of names in Append/Link view"

This reverts commit ba49d7e0e338b2b85cc162d265280bac8dc859cc.
Fix T38298: crash saving float image with 3 channels from exr to png/jpeg.
Fix T38265: transferring vertex weights from an object with modifiers not working.

It was using the modified mesh for the vertex coordinates, and the unmodified mesh
for the vertex weights, which can't work and crashed in some cases, now it used the
modified mesh for both.

Perhaps an option should be added to indicate if you want to transfer from the
unmodified mesh or transfer to the modified mesh, but I think this fix makes it
works as intended when this was implemented.
Enable XDND on FreeBSD
Replace XOR swapping by default ("naive", with extra var) one.

Ref: http://en.wikipedia.org/wiki/XOR_swap_algorithm, modern compilers/CPUs are much more efficient with "naive" algo than XOR one.
Doubled check, for me in an optimized build, XOR is several times slower than naive algo.
Timing macros: remove the (void)0 at the end of TIMEIT_BLOCK_INIT,
it prevents declaring/using more than one of these timing blocks in a same code block
(C rule, no var declaration and code mixing)...
Fix T38229: 3D view shadeless display not supported with GLSL, so hide in UI.
Optimize tessellation code (min 20% better, up to 300% with some CD layers to tessellate).

The main idea is to store (during tessellation) or recreate (during tessdata update) a tessfaceverts-to-loops mapping, and then update all tessdata
in one pass, instead of calling `BKE_mesh_loops_to_mface_corners` repeatedly for all tfaces!

Differential Revision: https://developer.blender.org/D226

Reviewed by Campbell, thanks a lot!
Minor cleanup from latest coverity checks - if we have a previous curve, we can safely assume we also have a previous stroke!

Better to assert here, than checking this randomly...
Code Cleanup: use bool for return values and correct comments

also remove CDDM_Check, theres no need for it.
Code Cleanup: reduce sign conversion
Add missing struct Lattice declaration.
Cycles Standalone: XML Updates for the integrator.
Usual UI messages fixes.
Cycles Standalone: Volume integrator settings.
Fix T38306: dupliframes causing viewport render to continually restart.

Evaluating the animation is causing the object to get tagged as changed, but in
this case it's not a permanent change so no one should be notified. Also found
a case where the persistent ID for duplis wasn't unique, fixed that as well.