Make multisegment bevel profiles even for all parameters.

The method for calculating points on the profile for non-circles
and non-lines meant that the segments making up an edge had
uneven widths.
Use a numeric search technique to find superellipse evaluation
points that lead to equal-sized chords across the profile.
Also calculate the actual profile points sooner, so that they
don't have to be recalculated again and again.
This also sets up for a possible later feature of arbitrary
profile shapes, set by user.
Fix T38347: adding object visibility keyframes in the outliner groups and
libraries view not working.

This was disabled in the operator, there may have been a reason for this at
some point, but I can't see any reason to disallow it in the current code or
find a good reason why it was done in the commit logs.
Add convinient access to full bitangent for loops (some export formats like FBX expect full bitangents, better to compute them in C than in python...)
Bevel modifier can use vertex groups for edge bevel now.

Until now, the "vertex group" limit method in the modifier
only worked for "vertex only" bevels. With this change,
edges with both ends in a vertex group will be beveled
in the non-"vertex only" case.
Also changed the test for being in a vertex group from
"any nonzero weight" to "weight >= 0.5". This is because
cascaded bevels on disjoint vertex groups did not give
disjoint bevels, because weight interpolation would give
non-zero weights to newly created vertices in earlier bevels.
Chose 0.5 because that won't result from interpolation, but
still allows some dilution (e.g., cascaded bevels on the
same vertex group).
Change tooltip text for Vertex Group in Bevel Modifier.

Reflects previous commit that now allows this group to
control edge bevels too.
Fix T38356: Crash when UIList.filter_items returns too few items.
Fix T38359: Not a bug, but better to grey out Material selector of particles when using Object or Group render type (since we always use duplicated objects' materials in this case!).
Blender docs: Correct upper limit, shown for missing -t option value.

Differential Revision: https://developer.blender.org/D248
Cleanup: Simplify Cycles standalone OSL detection code.
fix building cycles standalone on windows / cmake
Fix T38353: some EXR files from other applications not loading correctly.

* EXR layers with names like 'Z' without any pass name were not loaded at all
  and would break the Combined pass as well.
* EXR pass names longer than 16 characters where writing past the end of the
  array and getting invalid names.
Cycles Standalone: Various changes

* Change Info in header, put more important info to the left
* API: Move Camera width/height to camera, add some film properties
* Add ESC key to help menu
Cycles: Set samples to USHRT_MAX per default in the constructor, this is already used elsewhere.