Simplify home directory type detection

* manage home dir if it's type cannot be determined
* manage home dir if it not exists at the beginning of chef run
* add tests with stubbed shellout results
Add user's ssh_public_key to authorized_keys file by default

* prevent from inserting duplicates into authorized_keys
* cover with tests