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
knife: initial rework to use edge-net fill

Holes and loose edges not supported yet.