Fix T39078: crash increasing hair emission number
OSX/bullet: Truely fix T38746 now, compile flags where not propagated right,
also remove gcc 4.6 workaround, i don’t think its needed any longer.
!!! pls check if this would be right thing todo for othere OS too !!!
New Corner Pin node: uses explicit corner values for a plane warp transformation.

This was suggested by Christopher Barrett (terrachild). Corner pin is a common feature in compositing.

The corners for the plane warping can be defined by using vector node inputs to allow using perspective plane transformations without having to go via the MovieClip editor tracking data.
Uses the same math as the PlaneTrack node, but without the link to MovieClip and Object.

{F78199}

The code for PlaneTrack operations has been restructured a bit to share it with the CornerPin node.

* PlaneDistortCommonOperation.h/.cpp: Shared generic code for warping images based on 4 plane corners and a perspective matrix generated from these. Contains operation base classes for both the WarpImage and Mask operations.

* PlaneTrackOperation.h/.cpp: Current plane track node operations, based on the common code above. These add pointers to MovieClip and Object which define the track data from wich to read the corners.

* PlaneCornerPinOperation.h/.cpp: New corner pin variant, using explicit input sockets for the plane corners.

One downside of the current compositor design is that there is no concept of invariables (constants) that don't vary over the image space. This has already been an issue for Blur nodes (size input is usually constant except when "variable size" is enabled) and a few others. For the corner pin node it is necessary that the corner input sockets are also invariant. They have to be evaluated for each tile now, otherwise the data is not available. This in turn makes it necessary to make the operation "complex" and request full input buffers, which adds unnecessary overhead.
Fix T39029: Blender Internal: Render tiles do not appear until render is finished if Save Buffers enabled
Fix T39080: copy-to-selected operator fails for pointer properties.

The copy-to-selected operator for RNA buttons uses paths for copying
object pointer properties. Copying other ID data blocks is deliberately
disabled:
https://developer.blender.org/diffusion/B/browse/master/source/blender/editors/interface/interface_ops.c$274

However, the RNA_path_resolve_full function is not properly working for
retrieving pointer properties: it always will dereference pointer
properties in anticipation of further path elements.

In fact the return value of RNA_path_resolve_full has a conflicting
double meaning. It returns `false` when
* the RNA path is invalid
* any of the pointer properties is NULL

This means that it is not capable of returning pointer properties at all.
To make this possible, there is now an internal function for path
parsing, which returns false //only// if the the path is invalid.
On top of this there are 4 wrapper functions for retrieving either
actual property values (RNA_path_resolve, RNA_path_resolve_full) and for
retrieving pointer+property pairs (RNA_path_resolve_property,
RNA_path_resolve_property_full). The latter 2 variants will **not**
dereference pointer properties at the end of the path, so callers can
actually get the property itself. The `***_full` variants include an
array index return value.

Differential Revision: https://developer.blender.org/D396
Fix T39028: Quadview views inaccessible with python except bottom right view.

Expose all four quadviews in a collection in RNA API.

Note the region returned by old region_quadview property is now region_quadviews[2].
OSX/cmake: tentative fix for T38746, conflictting flags somewhere
Fix for missing 'field-of-view angle' property for a panoramic camera.
Fix T39112: increment snap does not work in perspective view at 0.01 scale (for scene and grid floor)

In case of "floor" grid (i.e. perspective views), unit_scale correction was not applied...
Fix for own rB6919ffbf4b2f (we only consider unit scale when we do use a unit system!).

Noted by Campbell, thanks!
OSX/bullet: do a last fix for scons. Now in both buildsystems the used flags are in sync for OSX
NDOF: enable orbit sensitivity menuitem outside 3d view

The color picker uses.
CMake: add fastmath for gcc release flags (OSX had already)
OSX/bullet: add -O2 to bt_cxx_flags, in cmake thats default, in scons CXXFLAGS start empty also in “Release”
Fix T39033: Regression, duplicating proxy loses proxy

fix for bug making duplicates real effected copying scenes and linked duplis.
Fix T39060: "Choose by numbers" do not work with Enum-menus, but work with operators-menus

The "layer" exception in handling numbers for menus was a bit too much greedy, eating numbers for all RNA props instead of just for layers ones...
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