calculate cert fingerprints to store for leap_mx

stelfox.net/blog/2014/04/calculating-rsa-key-fingerprints-in-ruby/
basic integration test for cert API
fix Email so User.new.valid? does not crash

Email.new(nil) now returns an invalid email rather than crashing.
SmtpCertsController, routes and tests
store cert fingerprint with main user identity
minor: fix tests
store fingerprints with timestamp

Only storing the date as that should suffice for normal expiry and is less useful for identifying users by timestamps
change from GET to POST for certs

We create them. let's reflect that in the verb.
fix test to require login
Merge pull request #165 from azul/feature/cert-fingerprints

Feature/cert fingerprints