Add all options required to manage system users

For my use cases I need to be able to manage system accounts (specifically
accounts that will be created by future installs) which means setting custom
UIDs and home directories.

This change adds those and various other options which are useful when
attempting to work with users in non default configurations.

I need to stress I haven't had a chance to test this (my dev box is running ansible 1.7 and 'omit' is a 1.8 feature) so I will have to update this when I've had a chance to test. I'm only pushing it so its visible should anyone else need the behaviour it provides.