Fix oct-encoded normal upsampling. 

Cannot linearly interpolate oct encoded normals in all cases, due to how the octrahedron is unwrapped into a unit square.
Can you make this a generic unit-tested function (even if it is `@private`) since we are going to want it for the geometry pipeline, which we are going to start work on again soon for KML?  Perhaps it is a function `Cartesian3`?  Or perhaps it is better to make a new oct class and put static decode and encode functions in it.

`signNotZero` and `toSNorm` could probably go in `Math.js`.