Make Edge3::volume() calculation more robust.
Make Edge3::volume() calculation more robust.

We need to avoid any computations that could raise a floating point
exception, since some applications check for those in debug mode.

Refs #2510

dschwen/libmesh,libMesh/libmesh,libMesh/libmesh,libMesh/libmesh,jwpeterson/libmesh,dschwen/libmesh,libMesh/libmesh,jwpeterson/libmesh,libMesh/libmesh,jwpeterson/libmesh,roystgnr/libmesh,jwpeterson/libmesh,roystgnr/libmesh,roystgnr/libmesh,BalticPinguin/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,jwpeterson/libmesh,libMesh/libmesh,libMesh/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,jwpeterson/libmesh,dschwen/libmesh,libMesh/libmesh,roystgnr/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,BalticPinguin/libmesh,dschwen/libmesh,dschwen/libmesh,jwpeterson/libmesh,dschwen/libmesh,jwpeterson/libmesh,dschwen/libmesh,dschwen/libmesh,BalticPinguin/libmesh,BalticPinguin/libmesh,BalticPinguin/libmesh,roystgnr/libmesh