NSData support for passwords

When using some algorithms like diffie-hellman the resulting key is not
a printable string.
This change adds support for storing that kind of keys.

This should have been probably the primary way to add passwords I don't think we want to break the existing installations.