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.
Since this is only executed once during the lifetime of the process, I'm not sure the overhead of items() creating a list in Python<3 matters too much.
And iteritems() goes away in Python3