Fix T39978: Sculpting shapekeys - Using Smooth tool, turns shapekey into Basis.

Smooth brush requires deformed coordinates array to present.
Fix T39763: Blender renders disabled Render Layers using Blender Internal

For now only disables scene render if all the layers are disabled, but scene
will still be rendered if it's used in compo, has enabled layers which are
not used by compo.

Current pipeline doesn't allow to handle such cases nicely, so leaving it
for later.
Mask vertex colors used to be totally ignored
Fix rare crash introduced by recent own commit
Fix cycles bug with new transparent shadow code, giving too much volume shadow.
Fix T39684, warn when entering sculpt mode with an object with non-
Use warning instead of info for previous commit
Fix T40214: Wrong size calculation on new curve objects

Do not take into account grid size in objectdata creation itself, this is handled on a higher level.
BGE Physics: Better follow the old (pre-cleanup) logic  for determining bounds types.

This prevents older files from breaking.
3D Text: replace multiple float arrays with struct (much easier to understand)
Fix part of T39708, don't overupdate particles when changine active
particle texture slot
3D Text: Change textbox placement to ignore font scale

Logic here was very stupid, texboxes would have their initial
locations scaled by font size but not their width/height.

Now its possible to change font size while keeping the textbox layout.

Other fixes

- tab character didn't work properly with textboxes.
- memory leak when VFontData was missing.
Freestyle: Fix for texture spacing reset to a non-default value on load of old .blend files.

Problem report by Light BWK through personal communications. Thanks!
Add assert to check for buffer overrun
Fix T40202: File selector operators not reported in info view
Fix Bevel bugs T39726 and T39108, bevels with wire edges.

This updates the fix in rB27db75363, which had to be undone
because it broke other bevels.
It also fixes cases where edges went away went doing vertex
bevel on vertices with some wire edges.
Fix T40226: Keep collapse-menu when splitting areas
Fix T40223: Setting bevel_factor_mapping_start/end crashes

Patch from Lukas Treyer
Fix T38895: Unstable behavior using VehicleWrapper after Bullet 2.82 update

The Bullet 2.82 update uses a different method for ray casting that
seems incompatible with our older files. So, for now we just force the
vehicle physics to use the older ray casting method.
Fix T39669: Freestyle: Curve with extrude>0 causes warnings in console.

The reported Freestyle warnings were due to wrong normals of filled faces at both ends
of a 2D extruded curve. The problem is detailed in the comment #19 of T39669.

The cause of the bug was an inconsistency in the use of vertex indices between
BKE_mesh_nurbs_displist_to_mdata() and init_render_curve() in the case of
DispList::type equal to DL_INDEX3.

This commit also fixes a related bug that the normals of filled faces were not inverted
when a scale of the curve object is set to a negative value (e.g., the Z scale was -1).

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D532