Improve Linux network facts incl. bridges, ppp, wwan devices

This patch adds all interfaces (even inactive ones) to setup output.
ec2_vol: update docs to match default device_name values for Unix/Windows.
ec2_vol: do no work if the instance has a volume mounted at the device.
Tweaked merge_hash to also affect Runner behavior
Added 'validate' feature to copy and template modules, now you can add a check to force copy to fail if the check fails.
had to add entry in file for it to accept as a option even though file itself ignores it.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Use psycopg2's string handling to escape password string

This allows the password to contain single quotes and should make it safe to
use randomly generated passwords (provided passwords can be represented in the
connection encoding).
Add availability zone parameter
allow URL spec for install
When saving to dest, check if we get redirected, and use the new
location header to set the dest file name if we only provided a
target dir. Only save if dest not modified.
apt module: part rewrite of the upgrade logic, consistently checking
the executable paths, adding 'safe' as an alias to yes, and adding
'full' to allow aptitude full-upgrade as an alternative to apt-get
dist-upgrade
add default=yes in upgrade argument spec
package and upgrade are not mutually exclusive, but when both were set, upgrade didn't happen
Quick fix for first_available_file and roles
Update pause module to not use utils.template
Remove unneeded import.
Avoid running through the legacy template code if no dollar signs are in strings.
Merge pull request #2656 from dstoflet/first_available_file_fix

Quick fix for first_available_file and role support
ec2_facts: add ansible_ec2_placement_region key/value pair for EC2 region.
More 1.2 templating development; for legacy when_string constructs don't quote the 'in' operator
Create the .ssh dir if it does not already exist.