Multiple titles for work

`Work` always doesn't have a single name, but could have serveral titles.

- Removed `name` column in `Work`
- Defined `Title` class and add relationships of it.
- Added tests on multiple titles
- Improved style and readability on tests related to `work.py`
- Added migration script for `titles` table
- Adjusted web front-end and tests on it to apply those changes

To @item4, I want you to be aware of what I changed in front-end, but it could be changed again. URL for `'/work/<path:title>/'` is altered to `'/work/<path:id>/'` now, because title isn't unique among works.
I think it will be good to seperate util function if it use other test.