Allow to change executable (shell/interpreter) when using raw

This patch adds an optional 'executable=' option to the raw command line to override the default shell (/bin/sh), much like the shell module does.
Merge pull request #1798 from dagwieers/raw-executable

Allow to change executable (shell/interpreter) when using raw
Extend executable= support in raw to include no execuable

Useful for managing not-UNIX things.
Document that task includes are now infinite depth
Resolve variable references inside variables

Fixes the case where variable x is '$y' and y is a dict(foo='bar') and
an attempt to access ${x.foo} is made.
Clean up imports (taken from PR #1804)
Merge pull request #1843 from dagwieers/import-cleanup

Clean up imports (taken from PR #1804)
Use re instead of shlex.split to find executable

shlex.split will strip quotes and it might not even be sh at this point.
Default to not using an executable

For compatibility with older releases as well as avoiding things like
action: raw executable= show status
to communicate with devices that don't have sh.
Revert #1818 but avoid double-dwim, fixing relative fileglob
In PR #1804 the use of C in script was moved to _low_level_execute_command()

So we cannot get rid of this one now.
Merge pull request #1844 from dagwieers/import-fix

Revert the import of C in script
Updates Arch PKGBUILD to include other man pages

Man pages for ansible-pull and ansible-docs are now installed properly
Correct name is login_user

Fixes #1848.
add with_sequence lookup plugin

Plugin allows you to do easy counts for items.
Merge pull request #1838 from jvantuyl/with_sequence

add with_sequence lookup plugin
Fix distribution detection - return string instead of functions
Merge pull request #1851 from Pinkbyte/distribution_fix

Fix distribution detection - return string instead of functions
Merge pull request #1845 from leucos/patch-1

Updates Arch PKGBUILD to include other man pages
EC2 module should report back the public_dns_name too.