WIP tags: REST API addition

Addition of rest api for tags.
Still work in progress.
Why this case couldn't be handled in the `except TagError as e` below? It seems that they are identical.