DO NOT MERGE: Fix MAGN-3442 Structural Framing Location Fails

@pboyer

The location of a structural element in Revit may be a point or a curve. If it is a curve and we convert it to a point, a null pointer will be generated and later access to the null pointer will cause an error.

This submission changes the return type of Location to Geometry so that it will return a point if it is point or a curve if it is a curve.
Could be simplified to crv.Curve.ToProtoType().