Expose more facts about user on host system

Adds:
  - `user_uid`
  - `user_gid`
  - `user_gecos`
  - `user_dir`
  - `user_shell`

This is implemented with pure Python, using all built-in modules.

This is useful for writing playbooks that create a user on the remote system that resembles the invoking user on the host system. I've long wanted to have plays that set up my development VM with the same user that I use on my host system.

Cc: @sontek, @aconrad, @sudarkoff