View3D: Handle un-weighed vertex color properly

D608 by Gaia Clary
PoseLib: New pose library actions now have their "id root" setting initialised properly
Style cleanups here
Bugfix for Elastic and Back easing types

** TO BE PORTED BACK TO 2.71 **

As pointed out by Thomas Beck (plasmasolutions), the current behaviour and/or
default values for their parameters didn't quite make sense:

1) Back Easing - The old default value of 0.0 results in some overshoot being applied,
while trying to tweak it up or down resulted in some odd jumps and discontinities.

I've ended up removing some code here which forcibly using a "back" value of 1.7
when users wanted 0.0 instead. There doesn't seem to be any good reason for this.
To ensure that there is still an effect initially, keyframes now get created
with back set to 1.7


2) Elastic Easing - The old default settings of <amplitude = 0, period = 0> resulted
in a curve without any elastic bounce, which wasn't very useful for motion graphics.

Now, default values of amplitude = 0.8 and period = 4.1 get set. These were hand picked
by Thomas to work well when the duration of the motion is 10 frames long (i.e. the
typical length of such effects when doing motion graphics).
Add a bmesh_core_test, a start at testing bmesh functionality.

Needed to make the blender link libraries a global property
now that tests are parallel to source directory.
Current sort order for blender link libraries doesn't work
for tests that start with few defined symbols. Doubling the
lib list works, but a TODO to find a better way (probably
using CMake's own mechanism for tracking dependencies).
Python: Remove deprecated uses of os.popen

T40415 by Lawrence D'Oliveiro
RNA: Expose hook centre

D529 by Gottfried Hofmann
Cycles: Make Volume Bounces default to 0. This is quiet a bit faster, and produces less noise.
Fix T40697: Skinned meshes with shapekeys crashing in the BGE
Fix T40692, Checker Texture derivation on very large scales (1k).

It might still have a derivation on larger scales (10k or more), but we need some offset to avoid precision issues on unit coordinates.
UI: auto-open other menus by hovering over, once a menu is already open

D590 by Matthew Reid
Fix 2 GLSL errors, with Cycles Hair BSDF.
Fix release notes link in splash.

Auto-generate this link from Blender version, as done for e.g.py API link.

This commit should be backported to 2.71 branch.
Update Readme and Release Log link for 2.71.

This should be backported.
Replace hard-coded version for release log url
Implement resolution divider in the Blender Internal

Currently resolution divider is not exposed to the
interface yet, and i'm not even sure it needs to be
exposed because it's somewhat weird configuration.
Need to check how often artists are changing start
resolution in Cycles.

Pretty much straightforward implementation with the
only weak part: render result is getting re-allocated
and upscaled when current resolution is finished.
Not sure how to make it faster actually. Maybe it's
just a matter of making upscale fast enough.

Needed to fix some possible memory leak happening
in Freestyle when canceling rendering on a special
stage -- it was missing temp bmain free,

Reviewers: campbellbarton, dingto

CC: sebastian_k, fsiddi, venomgfx

Differential Revision: https://developer.blender.org/D609
GLSL tweaks for viewport render draw

- Was missing pixel scale
- Dither is now supported on GPU
Code cleanup: BLI_md5.c was... not nice.
BLI_md5: add a utility function to 'translate' raw 16bytes digest into a nice 32chars hexadecimal string.

That kind of stuff belongs to BLI, not specialized code like thumbs.c
Fix scons building in case git is not available.

Not so nice to use try/except here, but simplest solution to avoid failing in case
git commands fail for some reason...