allow verify/2 to accept atom for encryption type

In order to work around an issue in erlang compiler which prevents you
from specificying {d, value, <<"abinary">>}.  as a compiler option in rebar.config,
we needed to set default encryption types to be an atom. - this change
allows verify/2 to convert a received binary string to atom to prevent
match failures.
Merge pull request #110 from opscode/mp/authenticate_endpoint_feature_parity

allow verify/2 to accept atom for encryption type
verify_password can use salt encoded w/ bcrypt password

Under opscode-account, users both newly created and with updated bcrypt
passwords have an empty string stored for salt, because the
bcrypt modular format for the hashed password also includes the
salt.

With this change, when the salt is empty, we will use the encoded
modular bcrypt format in its place - the bcrypt library will use
only the salt portion of the hashed password.
given that chef_wm is not going to be back-compatible, remove switchable hash types
add a test for when no salt is provided
Merge pull request #112 from opscode/mp/use-derived-salt-when-empty

verify_password can use salt encoded w/ bcrypt password
chef_wm_password supports both EC and OSC password data schemas

* Add support for EC/OSC sha1+bcrypt types
* support forlegacy sha1+salt types
* upgrade function
* tests for the above
* added a password test data generator rb file
Merge pull request #113 from opscode/mp/support-multiple-password-schemas

chef_wm_password supports both EC and OSC password data schemas
Accept a default_orgname setting into init parameters