User tags

- Add tags abstraction to user
- tags use an postgres array column
- the `Tag` model is used for indexing and fulltext search (for autocompletion). Use through the `Taggable` concern
- Taggable adds `.searchable_tags` method to index any array column
- Add tags input component

- Simplify js loading to use single file (no more controller specific loading)
- Add `pg_search` to use fulltext search with postgresql

- Update docs on tagging and search