Initial port of Makefile to Python.
Add missing wait() on Popen

Caused debuild to run in the background.
Refactor read_srcurl()

Split out to `read_changelog()` and no longer determines the build directory
name from `srcurl`.
Make class methods private

These don't need to be called externally.
Support DEBUILD_ARGS environment var

Allows additional arguments to be parsed into `debuild`, eg:

    DEBUILD_ARGS="-uc -us" ./build_source.py collectd
Emit return code from debuild.
Make hyphen in version optional

Support packages with simple versions like `1`.
Add some [noop] messages

Indicate when __create_build_dir and __fetch_tarball don't do anything.
Rename directory out of tarball

Ensures that it matches debuild's expectation of `name-version`. Deletes any
existing copies before extracting/renaming.

Previously the DSC was referencing a codebase that only contained our
`debian/` directory because the tarball contained a different name.

This probably won't handle tarballs that don't contain a parent directory. I
expect that something bad will happen. We'll tackle that when it arises.
Take directory instead of name as argument

Makes it easy to auto-complete on the CLI. Does away with the need for
`self.name`. The build directory has been renamed to match `name-version`,
per `expanded_dir`, because it's easier to construct this from the details
in the changelog. This will also prevent conflicts where we have multiple
versions of package sources in our Git repo (eg. `ruby1.9.2` actually
creates a package called `ruby`).
Basic docs and usage information.
Goodbye, Makefile

It was nice knowing you. @nickstenning will always love you.
Merge branch 'replace_makefile'