Added command `knife opc user password`.

Command either updates the password for a user or, if --enable_external_auth is passed instead of a password, it will enable ldap for that user.
A more idiomatic version of lines 6--64 would be
   
    user["recovery_authentication_enabled"] = !config[:enable_external_auth]

Just so I'm clear, recovery_authentication_enabled means "For this user, use the password field in the database and not ldap." correct?

Two questions:

1) Say that something breaks with my LDAP setup so I set a recovery password to log into Chef.  Then I fix LDAP so I re-enable external auth or that user.  Then something breaks again.  Is the only way I have to enable recovery_authentication is to reset the password that I've already set before?  Not a deal breaker, just feels a little odd.

2) Does setting recovery_authentication_enabled to true have any effects when LDAP isn't configured for the cluster?  That is, say I just want to use this command to change my password, will the fact that the command sets this option cause any problems?