Updated Material with new entries for 1.8.

Based on work by @scooterboo. Looking for feedback on:
* Naming.
* Ordering (I think I got it right).
* Using the correct constructors.
* Having the correct `isX()` properties.