Refactor the way adding default tags works, so for any line, it will add...

... the tags if they're not already present. This allows for defaults that can be overridden in a collector.
This is an O(k*N) cost with k=typical size of `self.tags` and N=typical length of line.  That's not good.