Bug CRYPTO - Add Scrypt and PBKDF2 interfaces.

This also adds testing only implementations backed by SpongyCastle.

@rnewman, this is an alternate path toward landing some sort of native crypto that will be performant on actual devices.  This unblocks me so that I can implement against the auth server, while allowing a reasonable upgrade path as we experiment with better implementations.  What say you?