Add support for derivative information in sampled properties.

1. Added `HermitePolynomialApproximation.interpolate` for performing interpolation when derivative information is available.
2. `SampledProperty` and `SampledPositionProperty` can now store derivative information for each sample value. This allows for more accurate interpolation when using `HermitePolynomialApproximation`.
3. Support new `cartesianVelocity` option in CZML positions.

This change does not try to expose derivative information to end users, it's mostly for the interpolators to be able to take advantage of the extra data and to go along with the new `cartesianVeloctiy` position data option in CZML.  In the future (possible post 1.0) we'll add the ability for people to request derivative information via an overloaded `GetValue` call, similar to what we do for `GetValueInReferenceFrame`.

This is also @mdunkel's first contribution to Cesium, so he added his name to the list.  He added the `HermitePolynomialApproximation` piece. 

@kring you are probably the best committer to review this, but if someone else is up for it; have at it.