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.
Bringing in the DNA changes for custom shaders from the Harmony SVN branch.
Bringing over some blenkernel and RNA changes from the Harmony SVN branch for custom material shaders.
Moving some of the material custom shader UI from the Harmony SVN branch over.
Not doing filters right now, so removing these defines from DNA_shader_types.h until we get to that point.
Removing code for passes and filters for now to focus on custom material shaders. Also removing code related to geometry shaders, which will not be going back in. Geometry shaders were never well supported in the Harmony code base (e.g. no adjacency information).