MDFs refactor work:

- Added a base class for MDFs.
- Added the possibility to implement anisotropic MDFs in the future.
- Decoupled the distribution function and the geometric attenuation function for Beckmann and GGX MDFs.
- Added a new Microfacet2BRDF, that's compatible with the OSL spec.
- Added support for OSL's microfacet closures (only reflection for now).
- Added unit tests.

Ajax model, with "new" Microfacet2BRDF (GGX)
![ajax_mdf2](https://cloud.githubusercontent.com/assets/409013/3420978/69275cea-fed0-11e3-9d12-e12ed737afd3.png)