Modular routing

Finished modular routing and merged the reverse routing Robert wrote into it as well. There are a few TODOs in reverse routing left, but its is "working" condition minimally. From here on out, I'll mostly be providing advice on rust to my group members that don't know much rust, so commits from me will slow down until the end of the semester.