Fixes and cleanup to file functions and module
- unified set attribute functions ... not sure why 2 identical functions
exist with diff names, now there are 3 while i repoint all modules to 1
- fixed issue with symlinks being created w/o existing src when force=no
- refactored conditionals, simplified where possible
- added tests for symlink to nonexistant source, with both force options
- made symlink on existing attomic (force)
Make parsing variables for hosts and groups more consistent

This commit allows to specify arrays in [group:vars] block.

Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
Pass through vault_password when parsing host/group vars as directories.

Fixes a bug where vault_password parameter was not passed through in
_load_vars_from_folder()

modified:   lib/ansible/inventory/vars_plugins/group_vars.py
Fix for hostkey directory
remove dependency on pycurl from apt_repository by using module_utils/urls.py instead
Add space after full stop in ansible-galaxy help
Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean
Merge pull request #6531 from bob-smith/formatting

Add space after full stop in ansible-galaxy help
Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string
Merge branch 'bcoca-file_fixes_clean' into devel
Merge pull request #6523 from sergevanginderachter/vault-in-subdirs

Pass through vault_password when parsing host/group vars as directories.
Catch a unquoted line error.  Fixes #6532
Merge pull request #6529 from sivel/apt-repository-no-pycurl

Remove dependency on pycurl in apt_repository
Merge pull request #6527 from patrickheeney/hosts-bug

Fix for hostkey directory
Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel