Docker `RUN` statements cache based on the text of the command executed,
not the content of what it does to the image.
Since the command was cloning the project, and the text didn't change,
building the image would not update the code if the image was already
cached. This lead to a stale Docker image distributed on Docker Hub.
This could also cause some confusion, as modified code would not show up
on the image during the build process.
This commit changes the build process to copy the content of the project
into the image. Whenever a file changes it will trigger a new updated
image.