Avoid panics where possible
Fixes #42 (closed)
This MR removes any unwraps and expects (except in tests) that were in the orbital code that would have caused it to possibly panic without logging an error and attempting to handle it.
It also factors out some small functions of repeated code (which I see elsewhere and maybe used further later).
I leave this as DRAFT because I have not been able to test very well due to mouse issues in qemu I have had.
I have selected "Squash commits when merge request is accepted"
Edited by Andrew Mackenzie