Crates continued to grow in number, but most are still quite small and feature specific. This refactor consolidates them.
Write tests for docker integration, as docker is how we will initially handle distribution on heterogeneous hardware.