Scrypt Implementation

This is a WIP and shouldn't be merged until the whole optional backends issue gets sorted out.

- [x] libscrypt bindings and backend
- [x] ScryptBackend interface
- [x] Scrypt tests
- [ ] Getting Travis to run the tests

Some other questions to consider.

1. libscrypt only compiles on Linux and OS X so far. How should we deal with Scrypt for Windows?
2. I'm currently assuming that libscrypt is always available. How should we go about determining if this is true or not? This will probably tie into the whole optional backends issue.