refactor(controller): optimize layer creation

This restructures the Dockerfile in such a way that allows users to rebuild the
controller with minimal changes to the docker image's layers.
Actually, that's exactly what the ADD entry does in this case. If `requirements.txt` is never modified, the layer is cached (and therefore so is the `pip install`). We no longer need to maintain `requirements.txt` in two places.