Rewrite!

Important changes:
- Support `$2b$` digests.
- Simplified interface to just digest/verify. Generating salts and
  setting random devices is not something anyone should have to worry
  about.
- Use OpenBSD's bcrypt. tedu's work on the new crypt API makes it much
  nicer to work with, and leaves less room for me to get things wrong.
- Pull in arc4random from libressl. OpenBSD's bcrypt requires this
  anyway, but it also fixes things like #3 for free and again, leaves
  less room for me to make mistakes.
- Support more build targets. I have tested on Linux and OpenBSD (5.6+),
  and it should work on OSX and FreeBSD.