Drops the `sgp4 = "2"` dependency in `native/orbis_nif/` and replaces
both call sites with our own pure-Rust SGP4 port shipped in
`astrodynamics 0.6.2` — bit-exact to non-FMA Vallado at 0 ULP across
the canonical 33-satellite verification corpus.
Both call sites use AFSPC opsmode to preserve compatibility with the
historical orbis behavior (the third-party crate's
`_afspc_compatibility_mode` functions). The Skyfield reference values
in oracle_test.exs were calibrated to AFSPC, so the 1mm tolerance
holds without recalibration.
Changes:
- propagation.rs: rewritten to build an `ElementSet`, construct a
`Satellite::from_elements_with_opsmode(.., Afspc)`, then call
`propagate_jd` with the target UTC converted to a split JulianDate.
Going through propagate_jd lets the satrec subtract its own *cached*
exact epoch internally, eliminating the precision drift that would
otherwise come from computing the epoch JD a second time on the
caller side.
- conjunction.rs: rewritten to use `Satellite::from_tle_with_opsmode`
+ `Satellite::epoch_jd()` for the epoch-offset computation. Same
golden-section refinement loop, just backed by our propagator.
- mix.exs: bumps the wrapper Hex package dep to `~> 0.6.0` (matching
the new astrodynamics_native release) and bumps Orbis itself to
0.6.0.
Verified with `mix test --include skyfield_parity`: 184 tests,
0 failures.