Fix calc_normal for edges
In calc_normal for EdgeHandle average incident face normals instead of incident vertex normals.
calc_normal for valence 2 vertices results in the zero vector because the same vector is calculated for both sectors but with opposite signs.
Thus, calc_normal for edges incident to two valence 2 vertices would also return a 0 vector. This is avoided by averaging the face normals instead.