BSDF::sample refactor part 2

- Moved SamplingContext to BSDFSample.
- Made BSDFSample members private.
- Added accessors.
- Removed unused DirectLightingIntegrator constructor.