Fixes for Ellipsoid.scaleToGeodeticSurface

1. Handle case where cartesian is at or near the center of the ellipsoid.
2. For positions at the center, we now return `undefined`.
3. For positions near the center, we now return the result instead of getting stuck in an infinite loop.
4. Fixes #338 by handling case 2 during a morph.
5. Minor cleanup related to above changes.

CC @kring @bagnell
Handle case of very small values creating an infinite ratio.
Merge remote-tracking branch 'origin/master' into scaleToGeodeticSurface
Update when to version 1.7.1

This removes the need for us to hack out the freezing of promises: they removed it upstream (see cujojs/when#61 ) until V8 fixes the major performance problem with frozen objects.
Added Imagery Layers example for tutorial.  Renamed previous example to Imagery Layers Manipulation
Merge pull request #424 from AnalyticalGraphicsInc/upgrade_when

Update when to version 1.7.1
Fixed Polygon Sandcastle example
Fix issue #425.

Do not allow a TMS imagery provider's extent to be outside the extent
alowed by the tiling scheme, no matter what the tilemapresource.xml file
says.
Merge pull request #430 from AnalyticalGraphicsInc/issue425

Fix issue #425.
Merge branch 'master' into imageryTutorialExample
Add a test for issue #425.

Also extended `loadXML` to support testing in the same way that `jsonp` and
`loadImage` do.
Fix broken doc build, and add a comment to loadXML.
Merge pull request #432 from AnalyticalGraphicsInc/issue425

Add a test for issue #425.
update Changes.md and build.xml for b12 release.
Merge pull request #429 from AnalyticalGraphicsInc/polygonHole

Fixed Polygon Sandcastle example
Upgrade RequireJS to 2.1.2, Almond to 0.2.3.

Minor changes along the way: any comments containing "(c)" or "copyright" are now assumed to be copyright comments and preserved in the minified output, so I changed a few comments that were unintentionally treated that way.  The build now copies the RequireJS optimized worker layer files into the Dojo-built output folder when building CesiumViewer, to reduce the modules requested by RequireJS inside the web worker to 1.  The glslToJavaScript task no longer checks file modification times, so that changing the minification setting now actually has an effect without a clean.
Merge pull request #407 from AnalyticalGraphicsInc/scaleToGeodeticSurface

Fixes for Ellipsoid.scaleToGeodeticSurface
Updated README.md
Fix link in LICENSE.md
Merge pull request #431 from AnalyticalGraphicsInc/imageryTutorialExample

Sandcastle example for imagery tutorial