Add a lrz_email property to Member model

The property is generated based on the Member's lrz_id
Add a PublicKeyConfirmation model

The model is in charge of keeping a reference to a public key which
needs to be activated and a unique randomly generated key which can
be used to initiate the confirmation by the user.
Implement a method to activate public keys

The PublicKey model now has a field which indicates whether the field
is active or not.
Implement a view endpoint for activating public keys

The endpoint takes a confirmation key in the URL and activates the
public key. By default, it returns an HTML response, but a JSON
response can be explicitly asked for by appending '.json' to the
URL.
Add support for detecting expired confirmation keys

A method on the PublicKeyConfirmation model provides a boolean
indicating whether a particular instance has expired. The expiration
is based on a settings value which can be reconfigured.
Ignore expired confirmation keys in the confirmation view

The view should ignore confirmation keys which have expired without
changing the public key to active.
Implement a task to send confirmation emails for new PKs

When a new PK is created, this task should be initiated asynchronously
in order to create the confirmation key and send an email asking the
user to confirm it.
Implement a hook on PublicKey creation to start the confirmation task
Make the ``active`` field of public keys read only

Keeping it writable for the purposes of testing is too dangerous.

An alternative to ease creating public keys during testing without
need to confirm them is to set the setting
``TCA_ENABLE_EMAIL_CONFIRMATIONS`` to ``False`` and keep ``DEBUG``
``False`` too.
Make DEBUG default to False in production settings

It is dangerous to keep the template file for production settings
without explicitly specifying that DEBUG needs to be False.
Merge branch 'feature/email-confirmation'

Implementation of email confirmations when a new public key is added
for a user.

The confirmations expire after a (configurable) amount of time.

In a development environment messages are dumped to the console,
whereas in a production/staging environment the corresponding
SMTP settings need to be provided in order to be able to send email.