Python API: support thick wrapped int arrays

add bpy.data.version, needed for Python versioning code.
Cycles: Enable Volumetric Rendering on GPU.

Limitations:
* Smoke/Fire rendering is *not* supported on GPU yet, that is also documented here: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Materials/Volume
* Decoupled Ray Marching is also not supported yet, so no Equi-Angular and MIS sampling yet.

Note for Builders and Developers:
* Make sure to use the CUDA Toolkit 6.5 from now on. 6.0 might still work, but can cause slower renders.
Fix T41513 Avoid adding NULL values into object lists when lamp- and controller-instances could not be created.
Simplified Collada error message for unknown references.
Fix T41534: Bevel practically unusable interactively if set to percent amount type.

Turned out to be a clean/fix up of modal bevel tool, percentage mode handling was broken,
numinput handling was broken, etc.

Also added a way to switch between bevel types (modes) with M key, and tweaked a bit
numinput code to return early in case of 'char' event with ctrl modifier.
Followup to previous commit: fix same wrong numinput handling in other modal ops.

Also stumbled uppon 'move marker' code, was needing a bunch of fixes, cleanup and simplification,
and added a candy feature - now you will enter numinput values in seconds when editor is
in 'time' mode, instead of frames!
Fix T41580: Cast modifier - Edit Cache problems.

Modifiers should never ever modify data from target objects!!! With multithreaded
evaluation, this is a nice bug factory!
Fix T41584: bpy.utils.time_from_frame out by a day

Fix from retroj
Correct docstrings
Cycles: Make Correlated Multi Jitter a regular feature.

It can be helpful in some cases and it works properly, so no need to hide it behind the experimental flag anymore. It's only enabled for the CPU though.
Rename drawnurb -> draw_editnurb

Since its only used for editmode drawing.
Fix T41574: Curve edit-handles draws in shadow

Also avoid redundant theme-color lookups
Fix T41568: Dissolve & Tear Boundary Keeps Verts
Comments
Cycles: Use compiler intrinsics for clz/ctz in CMJ code for MSVC
Fix T41355: Make-local looses linked modifiers texture
Fix T41590: When scene scale is not 1.0, and units are "None," Blender assumes translations are in meters.

Turned out there were several issues in handling of scale parameter by numinput.
Fixed that by factorizing more some code in common with 'usual' numbuttons eval code
(new `bUnit_getScaleUnit()` helper will return valid scaled value, depending on
given system and type).

Now, numinput behaves as expected - using default unit amended by scale in case no unit is given
(i.e. entering '20' with a scale of 0.01 will give you 20cm, and '20cm' as well!).
Move conditional out of loop since checked condition won't change
Move bUnit_getScaleUnit -> BKE_scene_unit_scale

unit.c intentionally doesn't include DNA or BKE headers (except its own)
Fix T37534 remaining issue: auto-enable bevel weight view
whenever enter edge bevel weight editing.

This is what happens when one makes an edge sharp, for instance.
The edge bevel weight display is not on by default for performance
reasons, but seems reasonable to enable it when user indicates
interest by editing bevel weight values.