Draft: proc: Decouple orbit parsing and processing
This draft MR rewrites the main processing loops in OrbitProcessor to isolate parsing from processing. In addition, a new virtual function ProcessContiguousBlocks (name pending change) unrolls the usual per-BX processing to enable bulk processing of all bunch crossings in an orbit.
Note that only the GMT processor has been implemented and tested while the branch remains in development - do not run with other processors.