WIP tags: REST API addition

Addition of rest api for tags.
Still work in progress.
[DBAPIError](http://docs.sqlalchemy.org/en/rel_0_9/core/exceptions.html?highlight=exception#sqlalchemy.exc.DBAPIError) is the base exception for SQLAlchemy operations. If you catch it and want to hide it from the user, it'd be nice to keep it somewhere (probably in the logs).

```python
db.session.add(tag_to_create)
try:
    db.session.commit()
except DBAPIError:
    current_app.logger.exception("Tag ({0}) cannot be created".format(tag_to_create))
    db.session.rollback()
    raise TagNotCreatedError("Tag cannot be created")
except:
    db.session.rollback()
    raise
```