Bugfix: Duplicating Grease Pencil datablocks wasn't doing so in a safe way

Grease Pencil data (bGPdata) is now a datablock, so it isn't safe to use
MEM_dupallocN() for copying new instances of these anymore.
Fix for previous commit

gpencil_data_duplicate() was being used for gp drawing undo buffers, where using an
exact copy is exactly what we want/need. Instead, the code here now has an additional
arg for determining whether a direct copy is warranted or not.
Bugfix T42549: Grease pencil layers are not scene-specific for "full copy scenes"
Fix T42688: python crash: bpy.context.scene.update().

`ED_render_scene_update()` should ensure it does have some WM to work on...
Math Lib: add constant: M_SQRT1_3 1/sqrt(3)
Cycles UI: Several fixes for recent additions...

* Alpha Property was removed (Fix T42690)
* Some tweaks to make the panel look better again.
* Use abreviated form "Multiple Importance" everywhere, for consistency.
Cleanup: warnings
Refactor: BLI_path_util (split out app directory access)

This module is intended for path manipulation functions
but had utility functions added to access various directories.
Refactor: BLI_path_util (part 2)

Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util
Fix T42649: Use Relative Paths for Node Editor & 3D View Images

Images are now added with relative paths to the Node Editor and the 3D View.
Fix freestyle compile.

Do not know why this shows up now, probably a recent tweak in BLI_utildefines.h or so...
Fix BLI_Bitmap - was not usable in BKE area (strict compile flags).
Minor edits to T42649 fix

- only modify paths for newly loaded images
- don't attempt to read from library paths
Cleanup: de-duplicate image drag & drop logic

also don't make library paths relative on image load.
Fix T42618: Lock to view + autokey bug

in fact support for this combination wasn't added at all.
SCons: correct includes after recent refactor
SCons: correct include for win, also minor cleanup
Fix button to add simple UVs not getting removed after pressing it once.
BLI_utildefines: add UNUSED_VARS() macro
Allow explicit control over world background.

Previosuly, world was shown on the background if "Render Only" was used.
Now user should be able to set it independently. This is a prelude to
(drumroll)...