Schema updates

This is a pull request from the `schema` branch to a new `spec` branch where I will make spec changes (maybe in time for GDC, no promises though!).  Once the schema and spec are synced, I'll open another pull request to merge `spec` to `master`.

This brings the JSON schema up-to-date with the glTF JSON produced by the converter in `master`.  This still needs a few things before merging.

* [x] #68 (converted update needed)
* [x] #158 (converted update needed)
* [x] #187 (converted update needed)
* [x] #216 (converted update needed)
* [x] #232 (converted update needed) 
* [x] #235 (converter update needed, perhaps not right away)
* [x] #238 (converted update needed) 
* [x] #239 (converted update needed) 
* [ ] More consistent `description` properties throughout
* [ ] Update the `states` schema for #85 (could be done later)

There are several issues open with the [specification](https://github.com/KhronosGroup/glTF/issues?direction=desc&labels=specification&sort=updated&state=open) label, but we don't need to address all of them right away.  I am more concerned about getting the schema in sync with the converter and then keeping them in sync.

We will also have a small open-source JavaScript library that takes a root glTF object and adds missing properties that have default values, e.g., use identity if `matrix.node` and TRS properties are `undefined`.  This will make it easy to work with the converter option that excludes properties set to their default values.  The source is [currently here](https://github.com/AnalyticalGraphicsInc/cesium/blob/gltfDefaults/Source/ThirdParty/gltfDefaults.js), but it needs more testing and to be moved to its own repo.