Handle 'groups=' (empty string) in user module (Linux)

Makes it possible to remove a user from all but the primary group.

Setting 'groups=' is the equivalent to passing '-G ""' to
useradd/usermod, which is interpreted as "no group" on Linux.
added thirsty option to copy
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Correct -u description in ansible man page
make things like $FILE(/etc/path/foo.conf) and $ENV(HOME) work without having to use brackets to index them
Allow the remote username to come from a variable set in vars_files or vars
Merge pull request #2039 from okorz001/fix-man-page

Correct -u description in ansible man page
Add complex networking setup to docs!
Resort the who uses ansible page
Fix group depth for nested groups
Additions to Who Uses Ansible
Move diff code more into runner code.
Able to use "environment: " on any task to pass proxy details and other useful settings.  Can be a variable
or a dictionary.
Add example of working with the environment
minor aesthetics tweak
Remove unneccesary quotes from user task
Cleaning up tag compare, getting fully qualified path for executable
Getting fully qualified path for executable
Default expand_lists to True and set it to False for only_if

Fixes #2026 and #2027.
Using new qualified executable
Standarizing module in line with other rabbitmq modules, adding support for setting tracing