module_utils/atomic_move(): Restore owner/group

Manually restore owner and group if both src and dest are on a separate
file system.
module_utils/atomic_move(): Use tempfile module

Fix a potential race condition by using the tempfile module.
now correctly checks absolute path for src= existance for links

also updated docs to be a bit clearer on symlink behaviour
fixed issue with tmp file (path can include filename) and added missing
else which made it try to link x2
Fixes #6590 add set_remote_user parameter to synchronize

This allows usage of custom ssh configs for remote hosts where
the inventory user does not match the configured user.
Fixes #4325 allow async and poll parameters to be templated vars
etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env
Allow npm to install to a directory that doesn't yet exist

If path is specified but does not exist, create it.
Fail if path is specified but is not a directory
Addresses #6591 Hide diff for lineinfile if file did not change.
Merge pull request #6609 from joshuaconner/etcd_lookup_use_env_var_if_set

etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env
Merge pull request #6612 from willthames/npm_fix_nonexistent_path

Allow npm to install to a directory that doesn't yet exist
Merge pull request #6615 from 8191/devel

Addresses #6591 Hide diff for lineinfile if file did not change.
Addresses #4407 Caculate failed percentage based on serial and number of hosts in play
Fix documentation for twilio module.
Clarify documentation for apt pkg, state, install_recommends
Merge pull request #6620 from cmattson/apt-docs

Clarify documentation for apt pkg, state, install_recommends
Add tesing deps installation into hacking/README

Signed-off-by: Max Riveiro <kavu13@gmail.com>
Fix ValueError when selection contains a colon
Remove print statements

"print item" raises an exception when type of item is
jinja2.runtime.StrictUndefined
Add missing sha1 import on known_hosts.py