support new boot option encpasswd to provide hashed password, refactor passwd/ssh code accordingly

Share code and features between passwd, ssh and encpasswd boot options.
To match the behaviour with the ssh boot option the passwd boot option
now also sets the password for user root - and not only for user 'grml'.

See http://openwall.info/wiki/john/sample-hashes for sample hashes.

Thanks: Peter Palfrader for the idea