Most of the change is moving sets around to be static functions on
LonghandIdSet. I think I like that pattern, but I can also make the new set a
global static and add mako code to be pub or something.
Though I think the LonghandIdSet::foo().contains(..) pattern is nice to read :)