Merge pull request #292 from est77/OSL_merge

OSL merge 4
fixed styling issues.
the "Quicksave All AOVs" button now generates both numbered and unnumbered image files.
rendermany.py: allow to forward additional arguments to appleseed, and to select the output format.
clarified the description of the --window command line argument.
improved adaptive pixel renderer.
small code reordering.
fixed minor visual glitch: the render widget was not repainted if rendering failed early.
coding style tweaks.
small code movement.
minor code tweak.
renamed <searchpath> and <searchpaths> to <search_path> and <search_paths> in project file format definition.
reordered code.
added get_class_uid() static methods to entities.
more variants of renderer::ParamArray::get_optional() and get_required().
in foundation::RegExFilter, allow to set the regular expression pattern after construction.
renamed renderer::Project::get_search_paths() to search_paths().
cosmetics.
removed redundant method.
new render layer rule system.

this new system allows to assign render layers to scene entities via a series of ordered rules.  the only rule currently available is based on Perl regular expressions.  rules are normal scene entities and as such can be added/edited/removed from appleseed.studio.

in a subsequent commit, the project file format revision will be changed and projects using the old render layer system will be automatically migrated to the new one.