Re-implementation of Theodolite with Kotlin/Quarkus Closes #148, #226, and #220 See merge request !159