Flatten argument to with_items

Fixes #1711.
Teach the user module to understand check mode.
Add group support to check mode.
update hacking/test_module script to be aware of complex arguments, though it does not pass them.