Disney principled BRDF

- Implementation of Disney principled BRDF.
- Exposed the DisneyBRDF to OSL. 
- Renamed closure param structs to be more consistent.

![disney_brdf1](https://cloud.githubusercontent.com/assets/409013/3638828/fa0dc21e-1062-11e4-84bc-0dad1516dfe9.png)

![disney_brdf2](https://cloud.githubusercontent.com/assets/409013/3638830/ff2313bc-1062-11e4-8a3d-08d460370b20.png)

Thinking about it (and probably that was your thinking too), there's a potential efficiency problem with `foundation::lerp()` as a new instance is returned, whereas `mix_spectrums()` modifies the input spectrum in place.

By the way, the plural of spectrum is spectra so this function should be called `mix_spectra()`.