Debian has offered us the free use of jenkins.debian.net for reproducible builds. It is based on KVM instances. So we have to run the buildserver instead of KVM. The only feasible solution for nested VMs is KVM running in KVM.
This uses the library python-vagrant to replace the direct calls to the vagrant command line tool (it ultimately does the same calls, but in a nicely maintained library). This helps with UTF-8 issues, libvirt/KVM support, gradle cache support, and other things. This also adds a
main() function to makebuildserver to bring it inline with fdroid.