Encrypted data bag support for credentials

These patches add support for storing the authentication credentials in an encrypted data bag instead of in clear text attributes. 

Using clear text attributes is still supported, but if both are available, the encrypted version will be selected. 

Storing credentials in clear text in a data bag is also supported.