Got distcheck working!

This changes how the Makefile and the build process works such that
it will still use setuptools to build and install the application
while still being able to pass the distribution checks set in place
by automake.

Previously we were including all of the Python files in the
`_PYTHON` section of the Makefile, which didn't allow for directory
nesting at all.  This had the benefit of including the files in the
distribution automatically, and also compiled and moved the files
to the install directory when required.  The problem was that this
did half of the work that setuptools was doing during the install
process while not finishing the job correctly, causing the
distribution checks to fail.  Instead, we are now including the
setup.py and source files using `EXTRA_DIST`, which supports
recursion automatically, and we use setuptools to do all of the
work while installing.

This adds a `dist-hook` section which will remove the compiled
Python files.  Including compiled Python files in the distribution
package can cause unexpected issues and will be automatically
compiled during installation anyway.

This also overrides `distclean` such that it completely removes
the build directories for mousetrap.