vyatta-cfg-system: fix for 'user vyos doesn't exist' on password reset

If you delete the vyos user from the system and then go into password
reset mode on reboot, the configuration entry for the vyos user is
recreated but the command returns 'usermod: user 'vyos' does not exist'.
Despite this message the user is created correctly on a full reboot,
just not at the point the command is run.

Bug #342 http://bugzilla.vyos.net/show_bug.cgi?id=342
vyatta-cfg-system: add complete user config entry on password reset

Add the default plaintext-password entry to the default vyos user
created during password reset.

Bug #342 http://bugzilla.vyos.net/show_bug.cgi?id=342
vyatta-cfg-system: set default vyos password hash to sha-512 when reset

In line with Bug #318, set the default vyos user password hash to use
SHA-512 instead of MD5 when recreating the user during a password reset

Bug #355 http://bugzilla.vyos.net/show_bug.cgi?id=355
vyatta-cfg-system: allow password reset for users other than vyos

The password reset option only allows resetting the password for the
default admin (vyos) user.  This now allows the user to be specified
for the password reset, defaulting to the 'vyos' user with a password
of 'vyos'.

Bug #342 http://bugzilla.vyos.net/show_bug.cgi?id=342
vyatta-cfg-system: fix for deleting encrypted password breaks config

You can't create a user without a password, but once this user is
created, you can then delete the encrypted password.  However, deleting
the encrypted password from the config doesn't actually remove the
password on the system and in addition breaks the config on reboot,
resulting in the system login node being entirely absent.

This fix ensures that the encrypted password is set to "!" when the
config node is deleted, removing the password login capability for this
account but still allowing SSH RSA key login.

Bug #336 http://bugzilla.vyos.net/show_bug.cgi?id=336
vyatta-cfg-system: comment change in the plaintext-password node

Remove the comment from the plaintext-password node regarding empty
encrypted password values as you can't set them as empty.