wmllint: lay groundwork for recognizing unstored units

The next commit will actually populate the dictionary and append
the id to recognized characters.
wmllint: recognize unstored units

This required care to:

* not add ids inside [not] tags
* remove items from dictionary not just when unstored, but when
  clear_variable is used
* handle comma-separated values