Merge remote-tracking branch 'origin/develop' into develop

* origin/develop:
  The documentation for 'Developing Salt' is missing a critical step for 0.17+ users who wish to utilize the test runner. This commit describes the direct installation of salt-testing.
  -- Please review for accuracy prior to merge --
Added function args to message body
Added smtp port as optional configuration
Added the default port
Mimic the test case shown @ http://goo.gl/UI7uS8
Jinja needs to be "fed" Unicode data. Fixes #7576.

Additionally, what's returned from `render_jinja_tmpl` is also a Unicode string to that the `SLS_ENCODER` can properly encode them. Encoding UTF-8 data as UTF-8 data using the `SLS_ENCODER` does not, of course, work.
Fix PEP-8 E302, E303, W291
Fix PEP-8 W293, E302
Merge pull request #7666 from s0undt3ch/hotfix/lint

Some PEP8 Lint fixes
Fix race condition in salt-key

salt-key passes on the match glob to the applicable function within
salt.key.Key. However, if the glob includes a wildcard (or the argument
passed was -A/-D/-R, which executes the add/delete/reject on '*'), then
if there is any key activity between when the confirmation prompt
appears and when 'Y' is chosen, the wildcard could match one of the new
keys, resulting in unexpected actions being taken.

This commit changes the CLI usage of salt-key so that it passes a
dictionary of matching keys to the applicable function within
salt.key.Key. API backwards compatibility is preserved, because when
these pre-compiled dictionaries of keys are passed, they are passed in a
different argument name.
Changes in docs wording: 0.17 -> 0.17.0

We have no 0.17 release, the release code is 0.17.0.
Add note on environment option in the minion config file
Create central auth checks for eauth and token in salt.auth
make a ckminions object in authorize
Add any_auth to map auth check functions correctly
change the routine to use the any_auth method
plug rights into form changes for rights check
Add spec_check method to wrap arbitrary special perms routines

Once this is plugged into the master deprecate the runner_check and
wheel_check methods
Doh! self.spec_check
Add the initial cloud method to the master for running

salt-cloud routines. This is just made right now to run the
authorization routines, and is not yet hooked into the salt cloud api
this is primarily because the unified async salt-cloud apis don't exist
yet