fixed intermittent rendering interruptions during live scene edition, and several refactorings.

- fixed intermittent rendering interruptions during live scene edition.
- introduced foundation::IAbortSwitch to implement custom abort switches.
- renderer::DefaultRendererController doesn't do anything anymore, and no longer has to be explicitly called by derived classes.
- throttling of the main render loop is now done by renderer::MasterRenderer.
- decoupled on_progress() and get_status() in renderer::IRendererController.
- the status value stored in appleseed::studio::QtRendererController is now accessed atomically.
fixed non-OSL builds.
renamed some methods and improved a warning message.
cosmetics.
small code tweaks and cleanups.
tweaked formatting.
Exposed get_input_metadata as a static method for Entities.
Merge pull request #636 from est77/est_python_input_metadata

Exposed get_input_metadata as a static method for Entities.
cosmetics.
fixed deployment of Python module to sandbox on OS X.
Merge branch 'master' of github.com:appleseedhq/appleseed
fixed build of appleseed.studio when OSL is disabled.
overhauled renderer components initialization sequence.
minor tweak.
foundation::from_string<>() now checks that the input string was read until the end.
don't assign default values to mandatory inputs.
fixed crash after assembly deletion.

appleseed would crash in the following scenario:

    1. render a scene with two assemblies.
    2. delete one of the assembly.
    3. render again.
fixed compilation on platforms with a conforming standard library.
removed redundant #include statements.
new command line tool 'dumpmetadata' to dump metadata to stdout as XML or Markdown.