Fix repetitive warning handling in io.votable

This fixes a rather obscure and somewhat theoretical bug in `io.votable`.  The code was doing a class Python "no-no" by including a mutable sequence as a keyword argument initializer in many places.  This didn't matter in the general case when the keyword argument was passed a value, but the test suite doesn't always do that because it doesn't always read things from a whole VOTable file, but instead tests lower-level parts.  When I was investigating #2065, I decided to run all the tests *many* times in the same session and discovered the bug (where keeping track of how many times a particular vo warning was seen was not resetting between each test like it should).

All this is to say, you probably don't care, but this should probably be fixed.