### Normal of zero vectors

The normal of a vector is the vector divided by the vector's magnitude. However, if the vector is the 0 vector, you get 0/0, which results in non-finite numbers. There might be legitimate situations where you (unintentionally) try to normalize a 0 vector. For example, you might be using the derivative of a field to compute the normal to a contour of the field. If the field is in a static region or critical point, then the gradient goes to 0. In these cases, we want the `Normal` and `Normalize` functions to return something reasonable. These functions now return the 0 vector back. This is no more "correct" than producing NaN values, but it is less likely to cause problems later.