Fixes for compilation with msvc

MSVC doesn't like caling macro argument f when using float values
in the macro, it simply replaces the f in the float value with the
argument..

CMake compilation still fails because of 77785ce70807, numpy is never
getting unpacked.
Fix numpy installation on windows+cmake

The was caused by numpy never unpackign because of no
dpependnecy of any targets from the unpacked numpy.

Tried making it so blender target dpeends on it, but for
some reason it didn't work. For now added dedicated target
for unpacked numpy. A bit dirty but much better than just
totally failing.
Switch to numpy 1.9 for windows platform
Fix T42748: Crash in subsurf, threaded access

Allocating the iterator from a BLI_memarena wasn't threadsafe.
Change the API to use stack memory for iterators.

Thanks to @mont29 for finding exact cause of the bug.
Fix T42818: Cycles SSS passes are incorrect for SSS size of 0

This was caused by some internal optimization which evaluated SSS with
size of zero as BSDF but used different ID so the evaluation result
didn't appear in regular diffuse pass.

This lead to situation when SSS data was nowhere stored if the
size was zero.

Now SSS with zero size and close-to-zero sizes will be handled in the
same way from the passes point of view.
Fix T42472: Undoing/Redoing repeated transform operator gives wrong final matrix on objects with no geom data.

This hack should not be needed here, quoting Sergey, the actual issue comes from BKE_object_handle_update_ex,
which is calling BKE_object_where_is_calc_ex when it shouldn't.

Propper fix is depsgraph refactor topic, though.
Fix for wrong flip of Normal node Dot output for new shading system

It was wrong to use invert(), we need to multiply by -1 instead.
Cycles: Fix difference between SVM and OSL implementation of Normal node

SVM was normalizing the input normal, OSL did not. This lead to render
result differences across this shading systems.
Fix T42184: Normal not displayed correctly in Material Viewport

There was a differences between how Cycles and BI treats Normal shader:

- Different normal direction assumption
- Different policy about vector normalization

Previous idea of trying to use single function and flip the output if
needed becomes more tricky, so i've just added new GLSL function which
corresponds to how Cycles deals with the Normal shader.
cleanup: comment unused defines
startup.blend, update movie-tracking layout T41660

Layout by @sebastian_k, now includes 3D view.
UI: add Shift-Drag to multiselect expanded enum items too.

Differential Revision: https://developer.blender.org/D928
Fix for object_utils.object_data_add: Now supports None obdata for
creating empties.

The documentation says None is a valid argument for obdata (making
empties), but this would cause an exception. Now obdata is only used
when it is defined. An optional name argument can be passed to override
obdata.name as well.
Merge remote-tracking branch 'upstream/master'