Basic apt-repo management functionality

Added in the core functionality needed to manage apt-based repos.
The only downside is that due to the way apt works, most of the
interfacing requires utilizing the formatted repo_str.  This is
because the formats can vary some depending on specifics.

Support for the format "ppa:<project>/repo" has also been added
provided that the python libraries are installed.

This is all done via the python-bindings for apt, rather than calling
out to the "aptitude" or "apt-get" binaries (since the bindings have
some validation in them).