Cleanups
Tagging: Add initial infrastructure

Fixes bug 3034
Tagging: Add tags for TPs

Fixes bug 3035
Tagging-squash: Use AJAX for adding tags to TP
Tagging: Manage TP tags in project overview

Fixes bug 3036
Tagging-squash: Use AJAX for adding tags to TP in project overview
Tagging: Use animation when showing/hiding tags
Tagging: Fix bump effect in hiding/showing tags animation
Tagging: Add support for filtering project TPs using tags

Fixes but 3037
Tagging-squash: Fix filtering to use AND instead of OR
Tagging: Use Select2 in tag filtering UI

Fixes bug 3038
Tagging: Misc styling changes
Tagging: Fix sorting tables with tags

Since tags tend to consume a lot of space, we were adding them in
separate rows in the language table, but this broke table sorting since
the tag rows are sorted independently.

Now we keep the tags in a hidden cell of the respected row, and insert
the rows dynamically just after the table is sorted, and remove them
before sorting the table again.
Tagging: Swap the placement of Add tag and Hide tags

To be consistent with the project page