Fix for double freeing of MEM_guardedalloc'ed memory originating from BLF_lang_set().
Cleanup: indentation
Deduplicate CUDA and OpenCL wranglers

For now it was mainly about OpenCL wrangler being duplicated
between Cycles and Compositor, but with OpenSubdiv work those
wranglers were gonna to be duplicated just once again.

This commit makes it so Cycles and Compositor uses wranglers
from this repositories:

  - https://github.com/CudaWrangler/cuew
  - https://github.com/OpenCLWrangler/clew

This repositories are based on the wranglers we used before
and they'll be likely continued maintaining by us plus some
more players in the market.

Pretty much straightforward change with some tricks in the
CMake/SCons to make this libs being passed to the linker
after all other libraries in order to make OpenSubdiv linked
against those wranglers in the future.

For those who're worrying about Cycles being less standalone,
it's not truth, it's rather more flexible now and in the future
different wranglers might be used in Cycles. For now it'll
just mean those libs would need to be put into Cycles repository
together with some other libs from Blender such as mikkspace.

This is mainly platform maintenance commit, should not be any
changes to the user space.

Reviewers: juicyfruit, dingto, campbellbarton

Reviewed By: juicyfruit, dingto, campbellbarton

Differential Revision: https://developer.blender.org/D707
Fix: T41318
OSL compiler signature changed with 1.5.
Fix wrong assert happening in the CUEW
Fix T41318: OSL broken on Linux kubuntu 14.04

Now for real, hopefully.
Fix possible harmful warning: the value of the size argument in 'strncat' is too large, change the argument to be the free space in the destination buffer minus the terminating null byte
Fix T41276: OSL bug in getmessage ("trace", "geom:name" , output)
Fix to commit rB77b7e1fe9ab: need ${target} instead of blender in cmake macro.
Correct another issue in recent menu handling

mouse clicks to exit a menu were ignored for non-floating popups
Fix incorrect comments in listbase, add unit test to verify change

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D708
Fix a few typos in carve-capi.h

The typos didn't cause any bug, but the mis-ordered parameter names in CarveExporter_InitGeomArrays were confusing.

Reviewers: sergey

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D709
UI: remove tip when dragging a popup
Add missing forward declaration and missing 'struct' keyword
Replace explicit object type check with already-existing macro
API Docs: typos
Fix T41328: Saving a copy changes lib paths
Fix T41222 Blender gives weird output when baking (4096*4096) resolution on GPU

In collaboration with Sergey Sharybin.

Also thanks to Wolfgang Faehnle (mib2berlin) for help testing the
solutions.

Reviewers: sergey

Differential Revision: https://developer.blender.org/D690
Add RNA access to packed libraries
Fix T41062: "copy to selected" doens't work for all attributes.

The issue was that some properties are no direct children of the struct we support in 'copy to selected'
(RNA_Sequence in this case). Since we can't use the ID of sequences here (it's the scene, while we need
a sequence level of control), we had to add a new API helper to RNA path, which takes a RNA type
and return a path relative to the closest ancester of that type.

This way, we get a path from the RNA_Sequence, and can easily apply it to all other valid sequences
to copy the property.

Review, suggestions and edits by Campbell Barton, thanks!