Add support for a basic password protection for uploads (#2)

If FLASKUP_UPLOAD_PASSWORDS is defined (as a list of valid passwords),
Flaskup will ask users to provide a password from this list when he
upload a file. If the password is not known the upload is denied.
If FLASKUP_UPLOAD_PASSWORDS is not defined (or the list is empty),
Flaskup acts as normal: no passwords needed.
Support for hashed passwords

It's now possible to define a method to check submitted passwords.
The method must accept two arguments: the submitted password and the
hashed version of the password (from FLASKUP_UPLOAD_PASSWORDS), and
returns True if passwords match.
Support for password identifier

A password identifier is stored in the `*.data.json` file next to the
uploaded file. This permits to identify which password was used to upload
the file.
Now, FLASKUP_UPLOAD_PASSWORDS is list of tuples, each tuple contains the
password and the identifier.
[i18n] Extract new strings
[i18n] Update French translation
Define FLASKUP_UPLOAD_PASSWORDS_CHECK at app startup
Manage exceptions raised by FLASKUP_UPLOAD_PASSWORDS_CHECK

Some method used to check password can raise exceptions, these
exceptions are treated as a password check failure.
Update REAME.rst
Limit contacts number

A new configuration key is added: `FLASKUP_MAX_CONTACTS`. This limit
contacts number, no more than `FLASKUP_MAX_CONTACTS` emails will be
sent. If the users provides more contacts, they will be silenttly
discarded.
The special value `0` will completely remove contact notifications, and
the html texteare won't be displayed.
Update translations
Merge branch 'password-upload'
Version 0.3