General Apt-Sources fixes

These are some sanitization fixes to help make apt-sources
management better.  The basic principal is to not "configure" the
source if the source already exists.

Some format validation for PPA expansion added.
Fixes for empty sources list and strip on "line"

For matching purposes (repo configured) the "line" property needs
an explicit strip() called as it can end up with a \n in the line
itself.

Empty sources error was due to an erroneous check to see if we had
any repos (assumption was made we had some).  Since this not always
true, the superflous check has been eliminated.
adding primitiv git module functions for handling remotes

functions added:
  * git.remotes
  * git.remote_get
  * git.remote_set
extend git.latest state with remote handling - don't trust origin

because the name of git.latest is the repository where the target shut be based on.
I think it is importent that this state does handle remotes correctly and forces them.
Merge remote-tracking branch 'upstream/develop' into develop
fix spell and description of git.latest remote_name
Merge remote-tracking branch 'upstream/develop' into develop
fix string format on git module&state for python2.6
Add get_mode to quota system
Merge pull request #4505 from techhat/quota

Add get_mode to quota system
delete `salt`. the sql statements, because "conn" is  already specified
in "_get_serv" function. If specify it again, the mysql.db in
config.option is not efficacious
Fix get_mode to return a data set, not raw
Teach module.run state function to recognize when an argument passed
in is the vararg argument and process it as a list appended to the
rest of the positional arguments.
small clean up: remove git ssh identity from remote handling
Merge remote-tracking branch 'upstream/develop' into develop
quota.on and quota.off need to return True (or False, technically)
Adding basic state for quota
Fix descriptor for the state
Fix off-by-one error setting default arg values
Catch range exceptions