Improve tags handling in CI

Right now we rely on the gem acts-as-taggable to handle tags. There are about 17.4 million rows in this table, and due to lack of indexes in https://gitlab.com/gitlab-org/gitlab-ce/issues/43927, it seems that this table is causing significant performance issues. It seems that CI is the main user of these:

gitlabhq_production=# SELECT count(*), taggable_type FROM taggings GROUP BY taggable_type;
  count   | taggable_type 
----------+---------------
    64092 | Ci::Runner
      167 | Ci::Job
    74632 | Project
 17468756 | CommitStatus
    53855 | Issue
      125 | MergeRequest
(6 rows)

https://gitlab.com/gitlab-org/gitlab-ce/issues/32279 has some details on how cleaning up this table, but it seems every commit/build we add an entry to point to an entry in the tags table.

How can we reduce the amount of rows necessary here?

/cc: @ayufan, @grzesiek