Make PPA handling in apt-repo more robust

Take in the changes provided by ahammond and move them to the apt.py
module out of the pkgrepo state itself.

I've also included some changes that should make get_repo a bit
better and updates to better handle PPA style formatted names
in .absent calls

To avoid some odditiies any repo changes (add, delete, mod) will
do an explicit db_refresh()
PPA-Update

Modifications after testing of previous PPA-UPDATE da7500bab6d0932011b4cb72c61e05828f286f3d
Fixing a bad-index for the format string

LP_SRC_FORMAT string had bad format replacements in it.  .format
is zero indexed.
Merge pull request #4120 from morganfainberg/ppa-update

PPA update