fix compile error on MinGW32
Cycles: Disable Branched Path on sm_30 for now, recent Indirect Multi Light addition makes nvcc fail.
Code cleanup: redundant normalize in bmbvh ray cast
Transform: internal change, simplify view angle checks
Transform: minor optimization, use BLI_bitmap for island tagging
BMesh: minor optimization, step over own loop in BM_face_exists
Fix T39126: Convert To: Mesh from Curve/Meta/Surface does not respect "Keep Original"

Own regression, didn't consider operator redo would leave scene in a non-evaluated state.
Fix T39123: Border select without "extend" does nor clear selection of bezier nodes in 3D view

This is a regression introduced in fbc7ab30f and caused by the wrong object
being passed to the function.

Not sure passing editnurb as an argument is a good thing to do..
Fix T39104: 2 clothes on a collision object cause crash

This was caused by static variables used in plNearestPoints().

For now solved by making the solvers allocated in the stack,
seems no noticeable affect on the simulation speed so far.
Fix T39109: Vertices affected by Hook Modifiers change after "switch Direction" on Curves

Remapping hooks and vertex parent wasn't implemented for curves.
Fix for particle edit mode using wrong pixel distances.

rB57dba739176153e052d77611ff0e554f05984686 unified pixel distance values
but omitted a factor 100 for particle edit.
Code cleanup: UI - de-duplicate menu/row/listrow enum logic
UI: allow passing "" for icon only enum buttons and still get an icon

Enum icon-only buttons were getting their strings set,
then truncated with blenders string shortening methods, then not drawn
because there was no room (since buttons are icon width).

Modify UI code so icon-only buttons don't get names and passing "" to a
button won't have its text set later on.
OSX/bullet: i have to use -O0 again, else weird bullet behaviour comes back.
I overlooked in cmake my fix same time changed the optimization level to 0,
so not use optimization is the real fix ( postponed for after 2.70 ).
I appears we should investigate scons anyway: compileflags does not apply to c and c++ same time as expected.
Mesh API: replace octree mirror with kdtree
Mesh API: rename 'octree' to 'spatial' since internally its using kdtree
HSL color wheel implementation.

This is a standard Hue - Saturation - Lightness model
(see for instance entry on wikipedia here: https://en.wikipedia.org/wiki/HSL_and_HSV)
Note though the difference between HSV and HSL saturation, which are not the same.

The advantage of having this color selection scheme is that artists can select
shades and tints of a color easily by using the lightness slider. Also colors
are arranged on (approximated) perceived lightness on the color wheel.

Beware, Old files opened with this preference saved will crash!

Reviewers: sergey, brecht, campbellbarton

Differential Revision: https://developer.blender.org/D385
Fix T39111: Boolean assert failure on widows

In fact we had this change a while ago, not sue what happened.
Code cleanup (tm): Some code deduplication for HSL
Fix possible (unlikely) use of uninitialized pointer in RNA resolving