Prevent stacktrace if wrong type in outputter with state_verbose False

Closes #16488
Fix file.managed backup feature on Windows
add missing module import
add comment that ':' is illegal on Windows

Windows file paths and names cannot contain a ':'
fix pylint error
Refactor salt.utils.filecopy() out of salt.utils

Done to ease the use of salt.modules.selinux here. Added better checking
for selinux to fix #16999
Actually kill the tests sshd process. Provide a custom know_hosts file to use.
Ignore failover check for syndics.

Refs #16923
Don't execute query if test mode is enabled.

Fixes 16756
Explain reason for key rejection.

Closes #16284
Merge pull request #16977 from cachedout/issue_16488

Prevent stacktrace if wrong type in outputter with state_verbose False
Merge pull request #16983 from UtahDave/2014.7local

Fix file.managed backup feature on Windows
Merge pull request #17009 from cachedout/issue_16999

Refactor salt.utils.filecopy() out of salt.utils
Merge pull request #17030 from s0undt3ch/2014.7

Actually kill the tests sshd process. Provide a custom know_hosts file to use
Fix state.sls_id

This resolves three issues:

1. outputter not properly specified for this function
2. multiple state declarations under the same ID declaration are not
   reflected in the output
3. traceback occurs when ID is not found in the specified mods
Merge pull request #17036 from rallytime/bp-16965

Backport #16965 to 2014.7
Merge pull request #17038 from rallytime/bp-16980

Backport #16980 to 2014.7
Merge pull request #17037 from rallytime/bp-16932

Backport #16932 to 2014.7
Merge pull request #17039 from terminalmage/issue17017

Fix state.sls_id
Clarifying documention for smtp module.