Several improvements to cone shape, and fix to problems in shape_testPolycone
This MR contains several improvements to cone shape affecting polycone testing:
- Replace Real_v(0.0) with a const Real_v zero(0.0)
- Improved accounting of tolerances
- Avoid some redundant calls of IsOnConicalSurface(...) function
- Invalidate normals for corners (noSurface > 2), while faces & edges (noSurface=1,2) are okay
- fixes DistanceToOut() for tracks scratching a polycone surface
- fixes stuck tracks observed in Celeritas rasterizer
Moreover, polycone tolerances are loosened in order to satisfy ShapeTester tests.