WIP authors: initial release

* Initial module structure.
* Introduces SQLAlchemy models for Publication, Author and Signature.
* Introduces claiming operations on signatures.
* Adds citation association table.
* Tests for models.

Signed-off-by: Artem Tsikiridis <artem.tsikiridis@cern.ch>
Co-authored-by: Gilles Louppe <gilles.louppe@cern.ch>
Co-authored-by: Mateusz Susik <mateusz.susik@cern.ch>
Co-authored-by: Evangelos Tzemis <evangelos.tzemis@cern.ch>
I guess @tiborsimko can give you more information about original proposal for table and column naming structure. If you really want to use different name for your attribute than the column name you can use in exceptional cases:

```python
id = db.Column(db.Integer(15, unsigned=True), primary_key=True,
               autoincrement=True, nullable=False)
_id_bibrec = db.Column('id_bibrec', db.MediumInteger(8, unsigned=True),
                       db.ForeignKey(Record.id))
```

Please note that it's also good idea to keep a reasonable order of columns.