Update salt/modules/mongodb.py

Rectification of 'TypeError: port must be an instance of int' if using specified settings for Mongo.
Use `__all__` when loading modules(if provided).

* When loading the module's functions, if the module provides `__all__`, that's what's iterated.
* If a function provided in `__all__` starts with `_` it's not skipped because the module explicitly provided it.
* Minor formatting in the logging messages.
Remove forgotten `)`. Minor PEP8.
extension sp
typo fix. added example of unrestricted access.
added salt_token filename
To avoid any future confusion, we'll use `__load__` instead of `__all__`.
move dict definition outside loop
Create pkg list with pkg_resource.add_pkg
proper use of add_pkg
Don't forget function parens
Merge pull request #3785 from UtahDave/use_winapi-please

win_pkg should use pkg_resource.add_pkg
Sort packages before returning
Re-apply 3055916b5ddcea62885a637c3a26a4e7d75b6107 correcting the copy/paste error. Refs #2563.

We should now provide the configuration filename to load configurations from at the parser's class level.
The calls to `ConfigDirMixIn.get_config_file_path()` still accept a filename, though, if that filename is `None`(the default), it grabs the filename from the class level attribute `_config_filename_`.
Merge branch 'develop' of github.com:saltstack/salt into hotfix/use-module-__all__-in-loader
Besides loading module functions from `__load__` we also log that information.

This will allow us to debug any bug reports stating that the function X is not loading(because they did not add it to an existing `__load__`).
Merge pull request #3786 from UtahDave/win_pkg_fixes

Sort packages before returning
Some more mirror support to travis.yaml pip install calls.
Merge pull request #3787 from s0undt3ch/issues/2563

Re-apply 3055916b5ddcea62885a637c3a26a4e7d75b6107 correcting the copy/paste error. Refs #2563.
Merge pull request #3771 from s0undt3ch/hotfix/use-module-__all__-in-loader

Use `__all__` when loading modules(if provided).