Update salt/modules/mongodb.py

Rectification of 'TypeError: port must be an instance of int' if using specified settings for Mongo.
Added development requirements
Added test for clean environment.
add sentry returner
Renamed yaml util to yamlloader to prevent import overlaps affecting Reactor.
Renamed yaml util to yamlloader to prevent import overlaps affecting Reactor.
Fixed a typo with the default reactor config key
Fixed support for reactor config on external files
* fix bug: enable/disable service did not work if rcvar doesn't like <service>_enable (for example mysql-server)
* add workaround for service(8) bug (see PR bin/173454), it must fix #3876
* rewrite enabled/disabled function, now this func-s not based on get_enabled which is quite slow
* move service(8) look up in separate function with memoize decorator and remove direct use service(8)
* feature: service.config can be defined in minion config
* clean double quotes
Traceback is shown on logging, not on `sys.stderr`.

Also, explicitly state that a traceback follows.
Include exception message

I ran into a problem and kept getting the warning from verify_socket.
It made me think the port or socket was already in use.
When in fact it was an invalid address when checking
the exception message. "Cannot assign requested address"
I'm simply checking the exception for args and appending
it to the message.
docstring clarification

This commit clarifies the "recurse" param in file.directory states.
fix indentation
Merge pull request #3930 from terminalmage/develop

docstring clarification
Added explicit reference to the Python API docs
Switched hard-coded URL to use the :blob: ref
Merge pull request #3920 from giantlock/develop

Some changes for freebsdservice module
Merge pull request #3925 from s0undt3ch/hotfix/explicit-traceback

Traceback is shown on logging, not on `sys.stderr`.
Merge pull request #3929 from scragg0x/patch-1

Include exception message
Start work on image caching