Upgrade knockout to 3.2.0

https://github.com/knockout/knockout/releases/tag/v3.2.0
Update CHANGES.md
Upgrade to CodeMirror 4.6

Everything works, except for autocomplete.  More cleanup and testing needed.
Fix Sandcastle autocomplete and doc support

Also remove Cesium-hint.js as it's no longer needed.
Update CHANGES.md

Also remove uneeded CSS class.
Fix gutters.
Merge remote-tracking branch 'origin/master' into codemirror-4.6

Conflicts:
	CHANGES.md
Merge remote-tracking branch 'origin/master' into knockout-3.2.0

Conflicts:
	CHANGES.md
Update simple.czml

This gets rid of curved access lines and is also a much smaller file
due to recent toolchain upgrades.
Compress Primitive texture coordinates.
Support detached ReferenceProperty instances

Previously, ReferenceProperty required that it's reference was always
resolved.  This enforces early failure for bad data (such as a CZML file
that references a non-existent property).  Unfortunately, this lead to
problems when manipulating data on the client that would result in
temporary or permanent detachment of references, for example #2044.

In order to address this, I've made a slight change to the reference
semantics which cause a ReferenceProperty that already has a value
to maintain that value if it ever becomes detached (i.e. the entity
it references is removed from the target collection).  It will also
automatically reattach if the reference becomes valid again.  It
is still an error if a new reference is completely invalid (i.e.
the reference was never resolved a first time).  This still provides
early failure in the cases we want it and more flexibility in the
cases we don't.  However, do to other changes in the property system,
we could propably remove this requirement as well if it ever becomes
a problem.
if we ever
Fix texture coordinate compression when a coordinate was equal to 1.0.
Rename compressNormals -> compressVertices.
Fix tests.
Add test for compressed texture coordinates.
Clamp position to rectangle in interpolateHeight.

sampleTerrain works by computing the tile that contains each of the positions it is sampling using `tilingScheme.positionToTileXY`.  For a position very near the edge of a tile, it is possible for this method to return a tile that does not actually contain the position (e.g. latitude is one ulp greater than the north bound).  I considered trying to avoid this, but doing so is tricky and a bit expensive.  So instead, this change clamps the coordinates coming in to `QuantizedMeshTerrainData.interpolateHeight` to be within the tile.

Fixes #2206
Merge remote-tracking branch 'origin/master' into knockout-3.2.0

Conflicts:
	CHANGES.md
Merge remote-tracking branch 'origin/master' into codemirror-4.6

Conflicts:
	CHANGES.md
Merge remote-tracking branch 'origin/master' into detached-referenceProperty

Conflicts:
	CHANGES.md
Merge pull request #2222 from AnalyticalGraphicsInc/fixSampleTerrainBug

Seems to be working thanks!