Updating trapezoid bounds to work with negative tolerances and completing implementation of tolerances in diamond bounds
TrapezoidBounds and RotatedTrapezoidBounds: Boundary checks are sometimes performed with negative tolerance, in order to tighten the check (e.g. here). Made a slight change to correctly treat those cases. Nothing changes for calls with possitive or no tolerance. Specifically:
fabsX < (m_boundValues[TrapezoidBounds::bv_minHalfX] - tol1 // quick true
"-"tol1 reduces the acceptance for tol1 > 0 (which is ok) and increases it for tol1 < 0 (which is not ok). Changing it +tol1 works for both; for tol1 > 0, the additional cases that quick-pass would have passed anyway from the lines that follow.
DiamondBounds and RotatedDiamondBounds: Completed the implementation (tolerances were not being considered in the boundary check at the sides of the diamond). Plus cleanup.