Merge pull request #2054 from kavink/devel

Fixing logical error in detecting virtual device.
fix remote execution NameError in module 'user'
Merge pull request #2061 from candeira/fix_bug_in_user_module

fix remote execution NameError in module 'user'
Clean up device fact gathering

Remove lots of re use that really shouldn't have been re in the first
place. Initialize pcidata even if lspci is unavailable, and check for
its usability before trying to use it.

Fixes #2060.
Don't remove invocation from the result in the log callback

Fixes #2064.
Add directory detection to _remote_md5 and use this in copy

If it is a directory, change the destination path by appending the
basename of the source file, like is done if the destination ends with a
/, and try to get the MD5 of the new path.
Add example of read-write git checkout via ssh
Merge pull request #2066 from lorin/git-example

Add example of read-write git checkout via ssh
Fix Python 2.6-isms in sysctl module
The default for install-recommends is actually Yes, not No, as is
visible on line 121
Merge pull request #2088 from pas256/devel

Documentation fix for apt module: install-recommends
fixing issue #1768: copy module can't overwrite/replace read-only files , As recommended checking the destination directory is writable, then creating a hardlink and doing an atomic replace