Update salt/modules/mongodb.py

Rectification of 'TypeError: port must be an instance of int' if using specified settings for Mongo.
Enable the usage of existing 'salt-call -m' option.

Currently, the ``-m`` flag for salt-call has no effect in the loaders.
This commit allows users to specify exactly the module dirs to load
given that they follow the naming conventions for 'grains', 'runners',
'modules', 'states', etc. This is a shortcut for having to refresh cache
state when using a masterless salt-call.
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()
Added -r requirements.txt to dev_requirements.txt.

When calling: `pip -r dev_requirements.txt` the `requirements.txt` file
will automatically be included as well.
allow matching on presence of a key when value is a dict
Add error checking to major pieces of apt.py module
Remove trailing whitespace
Check for errors in dpkg.py

Also fix it so that this module will work AT ALL.  cmd.run returns a
dict, which does not support splitlines(), so I think this was
completely broken, and people just don't use it so we didn't know.
Fix pep8 line length
Add more error-checking to apt.py
Fix syntax error (whoops)
Fix scheduling for low intervals for minion.

Also improve the logging so it is possible to debug why scheduled jobs
are not running.
Merge pull request #4103 from torhve/develop

Fix scheduling for low intervals for minion.
Merge pull request #4096 from s0undt3ch/hotfix/fix-travis-again

Fix `None` is not iterable exhibited while running `integration.states.user.UserTest`
doc fix for some links
allow matching on presence of a key when value is a dict -- for grains too
Output value was being persisted through the exception

Fix #4098
Split Python 2.6/2.7 requirements.
User cmd.run_all (I misread cmd.run)

Also, because of my misreading of cmd.run, my previous comment about
dpkg.py not working was incorrect.
Merge pull request #4108 from basepi/aptfix3993

Check for errors in apt.py and dpkg.py, fixes #3993