Update Libmv to latest upstream

This is mainly a maintaince commit which syncs changes
between Blender and Libmv upstream also bringing new
GLog version.

This GLog version is presumably have better support of
MinGW from "the box".

This commit is also aimed to make further 3d part libs
update easier.
Follow up to the previous commit

Just update to the changelog
Debug prints weren't getting triggered, since they no longer use the old flag
Fix T39207: FCurve evaluation regressions following 2aff243 (again)

Yet another attempt at fixing the problems here. This time, I've added a new
function/version of the binary search utility so that we can pass in custom
thresholds (Note: This ability is only used for evaluation currently, with
everything else using a wrapper which still uses the old default threshold),
making it ok to start trusting the "exact" parameter.
Fix T39186: Matroska audio support (mka, mkv without video stream)

.mka files were considered image files when adding to sequencer
using drag-n-drop.
Fix T38051: Even if Color Management is disabled, it is still applied to the background
Fix T39306: Backface culling in Multitexture always uses mat game settings

Trying to use mat game settings in 3DView makes sense - but only when we are using "Game Engine" as 'renderer'!

Note GLSL code completely ignores mat game settings currently, could be added too...
Fix T39305: Matcap Crash when using Material Nodes in Blender Internal

This is a regression in d34d745, texture painting didn't set is_paint
if draw type < DT_SOLID which is weird.
Update Eigen to version 3.2.1

Main purpose of this is to have SparseLU solver which
we can use now as a replacement to opennl library.
Attempt to fix compilation error with msvc2013
Fix T39312 Multipling two values in the Transform Tools Number Input not possible.

There was actually a few bugs in new event handling of numinput :/

In case of 2.70 'a' release, this commit should be considered imho.
Fix T39209: Localizing materials could cause heisenbug with concurrent
depsgraph updates.

Material datablocks were localized by first making a regular datablock
copy, which always gets inserted into the bmain list, and then removing
it again from bmain.

Problem is that this localization happens in preview threads, which can
run while the depsgraph is also updating GPU materials. In case the
copying of materials takes any amount of time, this can cause the
depsgraph call to material_changed to use an invalid, localized material
and access invalid GPUMaterial lists which have already been freed for
the actual material.

Solution is to not add localized datablocks to the bmain lists in the
first place. bmain should be totally immutable during preview or render
threads.
Use the new BKE_libblock_copy_nolib function for bNodeTree datablocks
as well.

These were already doing the same thing, just not as nice. Only
difference is the do_action argument (false for BKE_libblock_copy_nolib)
but this is of no consequence because the function is only called for
trees nested inside material, scene, etc., which never have own actions.
Patch T22084: Robert Penner Easing Equations for FCurves

This commit introduces support for a number of new interpolation types
which are useful for motion-graphics work. These define a number of
"easing equations" (basically, equations which define some preset
ways that one keyframe transitions to another) which reduce the amount
of manual work (inserting and tweaking keyframes) to achieve certain
common effects. For example, snappy movements, and fake-physics such
as bouncing/springing effects.

The additional interpolation types introduced in this commit can be found
in many packages and toolkits (notably Qt and all modern web browsers).
For more info and a few live demos, see [1] and [2].


Credits:
* Dan Eicher (dna)              - Original patch
* Thomas Beck (plasmasolutions) - Porting/updating patch to 2.70 codebase
* Joshua Leung (aligorith)      - Code review and a few polishing tweaks

Additional Resources:
[1] http://easings.net
[2] http://www.robertpenner.com/easing/
Fix T39323: Animation playback is not synchronized when Screen Layout changes.

Own regression in rBd2a5ea04ed84.

This commit should be included if we do a 2.70 'a' release.
Sculpt: Fix non openMP threads not set correct and use optimal omp threadcount for OSX
- i empirically found that using HT just gives overhead, even possibly slowing things down
- i propose other OS test this too again
- switching threaded on/off did not restored single threaded case ( credits to Sergey )
Forgot to remove test printf
Cycles Standalone: Support for relative paths and string OSL parameters.

Patch by John Haddon.
Differential Revision: https://developer.blender.org/D418
Compile fix for Windows, M_PI was undefined.
Fix T39279 Vertex paint modes do not work well with mirror modifier

Issue here is that coordinates used for projection would not fit the
closest candidate. So it was possible to paint against the mirrored part
of the mesh, which would get clipped on reprojection.

Fix avoids reprojection by storing squared distance, and screen space
coordinates, which we will need again later anyway. Also we now always
paint against the closest vertex always. This is ensured because squared
distances for uninitialized vertices will be MAXFLOAT, thus failing the
strength test.