VM/Docker improvements

Highlights include:

* Pull redis and elasticsearch containers from Docker registry (instead
of building them each time), since they won't change that much.

* Use systemd directly instead of fleet so we don't have to worry about
etcd and discovery.

* `gulp build` et al. inside fracas container. This way you don't have
to build fracas separately before you create VM. This also means we can
use Docker Hub's automated build system. This makes the fracas
Dockerfile a lot more complicated, since it has to install all build
tools and then remove them when it's done, but hopefully long term we
can move to a Docker-in-Docker solution.