(Re)add a clean target to the build.

Previously we had both a `clean` and `reallyclean` in our Makefile; both
got lost when we switched to a python build.

This commit readds the `clean` target and lets it clean up a little more
than the Makefiles `clean` or `reallyclean` did. More files are deleted,
but only if these are being ignored inside of the repository (e.g. through
.gitignore files).