Added BSDFSample class. Moved BSDF::Mode to the new class.
Moved BSDF::has_xxx scattering mode functions to BSDFSample.
Added BSDFSample parameter to BSDF::Sample
Removed BSDF::sample return value
Removed BSDF::sample value param
Moved BSDF::sample incoming param to BSDFSample
Moved outgoing inside BSDF::Sample
Moved geometric normal to BSDFSample
Merge remote-tracking branch 'upstream/master' into est_bsdf_sample_refactor
Moved shading basis BSDF::sample arg to BSDFSample
Updated BSDF::sample calls
Formatting
Merge pull request #644 from est77/est_bsdf_sample_refactor

BSDF::sample refactor, part 1