Initial implementation of `JulianDate.toIso8601`.

1. Also add `JulianDate.toGregorianDate` which returns a new data structure.
2. Add `sprintf` function via third-part code.
3. Still needs clean up, doc, and LICENSE.MD changes.
Add doc to new JulianDate methods.
Update licensing.
Update CHANGES.
Merge remote-tracking branch 'origin/master' into toIso8601

Conflicts:
	CHANGES.md
Fix TimelineDemo.
Update Timeline.makeLabel to use new JulianDate.toGregorianDate() function.

This fixes, at long last, the Timeline's inability to properly display
leap seconds.  The horizontal space was correct before, but not the labeling.
Now you can find labels like `Jun 30 2012 11:59:60` on the timeline.
Merge branch 'master' into toIso8601
Tweaks to use the singular form of hours/minutes/seconds for consistency.
Rename variables for consistency.
Changes after review.

1. Update CHANGES
2. Split up single-line multi-variable declaration.
Merge remote-tracking branch 'origin/master' into toIso8601
Merge pull request #406 from AnalyticalGraphicsInc/toIso8601

Implementation of `JulianDate.toIso8601` and `JulianDate.toGregorianDate`.