Change confusing check discovered while working on HCL color wheel:

COLOR widgets never get created with UI_GRAD_V_ALT values. This is
intended for HSVCUBE color sliders only so reverting this to old value
before it was substituted with a define, which was -1.

There's one case where COLOR buttons get defined with a1 value different
than -1 which is in ui_def_but_rna. There the step value of the RNA
property is used. However, that meant that if step equaled to 9, which
is UI_GRAD_V_ALT value (unlikely) or if UI_GRAD_V_ALT was changed to 10
in future, or we added check for e.g. UI_GRAD_L_ALT which is 10 in HCL
branch, color widget would not get a color selection menu spawned.
Fix for vpaint_stroke_test_start returning operator flags, not bool

also use bools for paint callbacks
Code cleanup: use bool for static methods
Fix for RNA stringifying enum-flags freeing wrong pointer.
Fix T38471: parenting in the outliner was possible with library linked objects.
Fix T38466: F12 / ctrl F12 shortcuts not showing in Render menu.

This is tricking the keymap system a bit to make it match, this use_viewport
option has no effect when invoked from the info space.
PyAPI: mathutils.Vector.cross now works for 2d vectors (returns a float)

also fixed crash when running on large vectors (raises exception now)
Fix T38478: pin panel, then ctrl+click to collapse others incorrectly unpinned panels.
Fix T38476: incorrect hair draw type after editing particle system in edit mode.
Fix T38340 and T38473: fixed Scene pointers in Composite and Defocus nodes don't get updated based on context.

As discussed in T38340 the solution is to use the current scene from
context whenever feasible.

Composite does not use node->id at all now, the scene which owns the
compositing node tree is retrieved from context instead.

Defocus node->id is made editable by the user. By default it is not set,
which also will make it use the contextual scene and camera info.
The node->id pointer in Defocus is **not** cleared in older blend files.
This is done for backward compatibility: the node will then behave as
before in untouched scenes.

File Output nodes also don't store scene in node->id. This is only needed
when creating a new node for initializing the file format.

Reviewers: brecht, jbakker, mdewanchand

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D290
Scanfill: malloc arrays and zero init members
Scanfill: avoid converting int<>intptr_t for displist indices
Fix T36769: fluid sim modifier can crash blender

Crash only happened when the number of openmp threads were greater than the resolution.
Quiet warning
Scanfill: use poly_nr as an index rather then index + 1
Fix compilation
Building elbeem without openmp failed
Fix player stubs after change in compositor
Add debug print to ID update tagging
Code cleanup: replace magic constants with more verbose bitnames