Add email verification

This PR adds email verification to Hex.pm.

It also adds an API endpoint called `/user/:name/verify/:code`.

It requires a couple of client side changes in hexpm/hex to become fully functional:

  - Add `mix hex.user confirm <username> <code>` that sends a request to `/api/user/:name/verify/:code`
  - Don't generate keys on signup, and instead generate them after account verification

I haven't added expiry of verification codes yet, but it is something we can look into.

SES is available to send emails over a SMTP transport.

Thoughts?

:dancer:  
I used heredocs when I began the implementation, but both the SES API and SMTP require \r\n spacing between lines, or else the entire message is squashed together.

Is there any way to use \r\n instead of just \n in heredocs?