Fix Tri3::contains_point().
Fix Tri3::contains_point().

The "barycentric coordinates" part of the algorithm is copied from
http://blackpawn.com/texts/pointinpoly. This part assumes that the
point in question already lies in the plane of the three points
defining the triangle, and returns false positives when it does not,
so we have augmented it with a normalized out-of-plane test. The new
code seems to pass the unit tests suggested by @benkirk in #993, but I
have little doubt that it could still be much better.

The right approach is probably to use so-called robust geometric
predicates with adaptive-precision floating-point arithmetic, but that
invovles quite a bit more code complexity...

vikramvgarg/libmesh,giorgiobornia/libmesh,vikramvgarg/libmesh,pbauman/libmesh,hrittich/libmesh,libMesh/libmesh,dschwen/libmesh,libMesh/libmesh,BalticPinguin/libmesh,balborian/libmesh,balborian/libmesh,libMesh/libmesh,giorgiobornia/libmesh,dschwen/libmesh,capitalaslash/libmesh,hrittich/libmesh,BalticPinguin/libmesh,benkirk/libmesh,hrittich/libmesh,svallaghe/libmesh,benkirk/libmesh,libMesh/libmesh,hrittich/libmesh,roystgnr/libmesh,balborian/libmesh,pbauman/libmesh,vikramvgarg/libmesh,benkirk/libmesh,90jrong/libmesh,balborian/libmesh,hrittich/libmesh,BalticPinguin/libmesh,benkirk/libmesh,BalticPinguin/libmesh,90jrong/libmesh,svallaghe/libmesh,benkirk/libmesh,pbauman/libmesh,roystgnr/libmesh,dschwen/libmesh,capitalaslash/libmesh,balborian/libmesh,capitalaslash/libmesh,roystgnr/libmesh,svallaghe/libmesh,benkirk/libmesh,jwpeterson/libmesh,benkirk/libmesh,capitalaslash/libmesh,svallaghe/libmesh,svallaghe/libmesh,benkirk/libmesh,roystgnr/libmesh,balborian/libmesh,jwpeterson/libmesh,balborian/libmesh,giorgiobornia/libmesh,vikramvgarg/libmesh,hrittich/libmesh,pbauman/libmesh,vikramvgarg/libmesh,pbauman/libmesh,pbauman/libmesh,libMesh/libmesh,svallaghe/libmesh,pbauman/libmesh,BalticPinguin/libmesh,balborian/libmesh,90jrong/libmesh,90jrong/libmesh,svallaghe/libmesh,jwpeterson/libmesh,BalticPinguin/libmesh,vikramvgarg/libmesh,capitalaslash/libmesh,giorgiobornia/libmesh,giorgiobornia/libmesh,giorgiobornia/libmesh,pbauman/libmesh,roystgnr/libmesh,jwpeterson/libmesh,svallaghe/libmesh,dschwen/libmesh,jwpeterson/libmesh,hrittich/libmesh,jwpeterson/libmesh,90jrong/libmesh,libMesh/libmesh,vikramvgarg/libmesh,capitalaslash/libmesh,vikramvgarg/libmesh,dschwen/libmesh,hrittich/libmesh,giorgiobornia/libmesh,90jrong/libmesh,roystgnr/libmesh,90jrong/libmesh,dschwen/libmesh,giorgiobornia/libmesh,libMesh/libmesh,jwpeterson/libmesh,capitalaslash/libmesh,capitalaslash/libmesh,dschwen/libmesh,BalticPinguin/libmesh,giorgiobornia/libmesh,pbauman/libmesh,svallaghe/libmesh,BalticPinguin/libmesh,jwpeterson/libmesh,90jrong/libmesh,vikramvgarg/libmesh,balborian/libmesh,balborian/libmesh,90jrong/libmesh,roystgnr/libmesh,libMesh/libmesh,hrittich/libmesh,roystgnr/libmesh,dschwen/libmesh,benkirk/libmesh