It's simpler, and it makes the tutorial less confusing.
Should fix issue #6.
Closes issue #4.
Closes issue #3.
This allows us to use fewer temporary Docker containers, and to have a more readable script than just a single giant RUN line in the Dockerfile.