Implement custom names for render slots

Basically the title tells it all, quite straightforward implementation.

The only thing is the image.render_slot which used to represent the active
render slot index is now moved to image.render_slots.active_index.

Reviewers: venomgfx, campbellbarton

Differential Revision: https://developer.blender.org/D821
Libmv: Update Ceres to latest upstream

just to be sure we're dealing with the latest git version when troubleshooting
one annoying OSX issue..
Cycles: Remove redundant float4->float3 conversion

Not as if it gives noticeable changes render-time, but it's just weird to
convert float4 to float 3 to just access individual x/y/z components.

Plus some compilers might be more stupid than GCC and don't optimize this
out well.
InstallDeps: Fix wrong OPENCOLLADA settings in final messages in some cases.

Reported by Jefferson Rausseo through mail, thanks.
Fix T42139, vertical noise stripe patterns in noise texture.

Two fixes here (only the second one is strictly needed to fix the issue,
but both make the system better).

First is introduction of a random generator array for use with threaded
systems where each thread needs to access its own number generator.
The random texture now uses this so it should not be influenced by other
random generator reseedings of the main random generator like it did
before.

Second, I reshuffled the texture code to resample the upper bits of the
random number first. According to Numerical Recipes, this is where the
most variance can be found, so by sampling those we avoid correlation
issues. Also, multiplying here is not ideal because if a pair of bits
are zero, then the whole result will also be zero.

Overall this is much more random (tm) than before, however result will
also be brighter, since we now have less black spots. Tweaking the
brightness/contrast should somewhat fix that, generally having the same
result as before is not possible anyway if we are to really fix this.

Also, seems like exposing procedural depth might be nice here since it
influences the precision of the texture lookup.
Classic blenderplayer fix + small optimization
Minor cleanup.

* Use pie direction, not draw type for pie item collision
* Strict function definitions.
* Initialize random array with system time
Sculpt: use bitmap for mask bool array
Cleanup: tabs

Set your editor to tabs for all C/C++!