Update salt/modules/mongodb.py

Rectification of 'TypeError: port must be an instance of int' if using specified settings for Mongo.
Fix the regex for file.uncomment checking

Anchor to beginning of line, allowing for leading spaces
Check for comment character when checking for commented regex
Update docs to reflect new uncomment behavior
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()
Postgres modules now respects the pillar setting postgres.pass, as promised in the documentation
Needed to rename the password for newly created or changed roles to rolepassword.
fix #4039
Allow for tabs in leading whitespace in file.uncomment
Merge pull request #4041 from giantlock/develop

fix #4039
Updated dev_requirements.txt
Change file.uncomment to keep leading spaces

Previously deleted a single space after the comment character
Updated environment test to use mock library.
Fetching tags does not require an upstream remote.
Updated development docs.
Added headers in creating virtualenv section.
Updated testing section.

Use dev_requirements.txt in order to run tests.
Merge pull request #4044 from rca/fix_environment_test

Fix environment test
Merge pull request #4045 from rca/update_hacking

Update hacking
stub out imcomplete function, I will  need to come back to this
get a cli example onto pillar.ext