Compress Primitive texture coordinates.
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 pull request #2222 from AnalyticalGraphicsInc/fixSampleTerrainBug

Seems to be working thanks!
Re-map Rectangle texture coordinates to be in [0.0, 1.0].
Rename Oct -> AttributeCompression.
Factor out texture compression.
Add tests.
Merge pull request #2220 from AnalyticalGraphicsInc/compressST

Compress Primitive texture coordinates
Merge branch 'master' into knockout-3.2.0

Conflicts:
	CHANGES.md