Macros: replace UNPACK#OP -> UNPACK#_EX, allow suffix
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
Merge branch 'bf-master' into floored-master