cleaned up client crypto dependencies

added a new scrypt library that is about 3x faster as
emscrypt.js. It should be factored into its own module
on npm eventually.

also updated the npm sjcl dependency to 1.0.0 (official)
and removed the sjcl-codec-bytes dep by using hex instead.
Merge pull request #271 from dannycoates/emscrypt

cleaned up client crypto dependencies
Added a short dicussion about the motivation for the raw_password API
Merge pull request #272 from ckarlof/raw_password_docs

Added a short dicussion about the motivation for the raw_password API
fixed broken test after #269
recovery_email/resend_code does not need the email address
encode email as UTF-8 before key stretching and srp - fixes #274
Merge pull request #277 from zaach/fix_client_email_encoding

Fix client email encoding
update travis-ci to use new IRC channel
Refactor token classes to reduce duplication, improve API compliance

This implements the latest tweaks to the token derivation/encrytion
scheme, and uses the new level of symmetry between operations to support
a substantial refactor and cleanup.
Make SrpToken more like all the other token classes.
Make Bundle module export a single constructor.

This makes it more consistent with how other modules do things, even
though we don't create any Bundle objects.
Simplify mocking of Date.now in forgot_password_token tests.
Make SrpToken.prototype.tokenTypeID more consistent with other tokens
Use a single srpServer instance per SrpToken.

This also saves a bit of work at construction time, by deferring
calculation of the B value until it is actually needed.
Treat Bundle like a top-level module, rather than using "Token.Bundle.*"
Merge pull request #276 from mozilla/token-refactor

Refactor token classes
Change HKDF "info" parameter for some token derivations.
Merge pull request #282 from mozilla/token-hkdf-info-changes

Change HKDF "info" parameter for some token derivations.