OSL Improvements

These are some OSL improvements I was noodling with over the holidays. The main addition is support for the debug() closure, which is defined by OSL to allow the output of named values for use in mattes and id passes. My intention is to use it to extend the current OSLObject and OSLImage nodes so that arbitrary primitive variables and image channels can be written to, rather than just automatically writing Ci to P or RGB. With this in mind, I've extended the standard debug() closure with a new "type" keyword argument which allows the output type to be defined as something other than a colour.

This also includes updates to allow Gaffer to be built with either OSL 1.3, 1.4 or the latest master (which will become 1.5).