Fix normal upsampling.  Cannot linearly interpolate oct encoded normals in all cases, due to how the octrahedron is unwrapped into a unit square.
Moved octEncoding into Core.  Moved signNotZero and toSNorm into CesiumMath.  Unit tests included.
Minor cleanup.  Added new conversion function to Math.js, fromSNorm.
Minor cleanup.
Merge remote-tracking branch 'agi/master' into upsampleQuantizedMeshNormalsFix
Doc updates.
Cleaned up doc for Oct.
Fixed typo in doc.
Documented exceptions in Oct.
Mark Oct class as private.
Merge remote-tracking branch 'agi/master' into upsampleQuantizedMeshNormalsFix
Minor cleanup.
Merge pull request #1961 from abwood/upsampleQuantizedMeshNormalsFix

Fix oct-encoded normal upsampling.