OSL improvements.

- Renamed microfacet2brdf to oslmicrofacetbrdf.
- Modified the shadowing masking functions to work on either side of the surface (for refraction).
- Switched default beckmann shadowing masking function to Smith G.
- Added oslmicrofacetbtdf.
- Removed fresnel terms from osl microfacet bsdfs (must be done shader-side).
- Prevent invalid values for params in the closure -> BSDF conversion code.
- Removed memory allocation in CompositeClosure.
- Aligned closures more closely to the spec.
- Various small fixes and improvemens.

Why are you no longer using `foundation::CDF`? It looks like you're reimplementing this functionality here.