Address known issues

Create a package.json file with the appropriate dependencies listed.
Make client callbacks follow standard convention of returning an error as the first argument if one exists, and null as the first argument otherwise.
Update examples to reflect changes in callback
Use the built in crypto object instead of the jsSHA library.