Text3d: underline offset on curved path wasnt working right
Armatures Editmode: option to recalculate roll from the angle to the parent
Middle-clip tweaks:
* Now only middle-clip when both left and right parts of remaining strings are at least two times icon-width (thus most short labels will never be middle-clipped).
* Add a trailing ellipsis to right-clipped strings (unless it would take more than 20% of whole available width, in this case just clip chars, to keep as much data visible as possible!).
Cleanup: silence warnings.
Fix for error in own recent commit
Cycles Volume Render: scattering support.

This is done by adding a Volume Scatter node. In many cases you will want to
add together a Volume Absorption and Volume Scatter node with the same color
and density to get the expected results.

This should work with branched path tracing, mixing closures, overlapping
volumes, etc. However there's still various optimizations needed for sampling.
The main missing thing from the volume branch is the equiangular sampling for
homogeneous volumes.

The heterogeneous scattering code was arranged such that we can use a single
stratified random number for distance sampling, which gives less noise than
pseudo random numbers for each step. For volumes where the color is textured
there still seems to be something off, needs to be investigated.
Fix for crash in anim render: The callbacks in bMovieHandle are expected
to exist and accessed without prior NULL checks (with exception of
get_next_frame and get_movie_path). The callbacks are not reliably
initialized however if none of the video formats is enabled (AVI being
the default). Added stub functions now that ensure access to
bMovieHandle callbacks is safe and doesn't crash.
Cycles: Volume Scatter node was missing in the Add Node menu.
Fix CUDA/OpenCL compile errors in scattering commit.
Cycles: Update Integrator Presets and Total Samples info for latest changes.
UI / Nodes: Revert Slider for "Value" node, this is no percentage nor a 0-1 range.
Fix T38100: laplacian smooth crash
Fix a small glitch with string generated by numinput, they could cut multi-bytes utf8 chars (like the '°' of angle values), now call BLI_utf8_invalid_strip() to prevent this.
Much better solution for negate/inverse in numinput.

Previous one was way over complicated, and did not worked with units!
Fix T38112: Rigid Body can't be created for objects with linked mesh

Make poll function for rigid body add operators less strict.
UV Unwrap: smart uv unwrap would fail still on some very small faces
Fix for inorrect use of BLI_utf8_invalid_strip, add assert to prevent it happening again.
Sequencer: prevent unknown scopes from crashing
Fix for RE_engine_begin_result using a NULL pointer
Text3d: improve error checking when pasting from files