docker: First pass at cleaning up Dockerfile

- base the Dockerfile on phusion/baseimage, in order to use the runit
  supervisor and startup script support
- split up a couple of tasks in order to take advantage of Docker build
  caching