Improve accessibility of forum vote buttons

This PR also includes substantial cleanup, both as refactoring in the primary commit and in a separate cruft-removal commit.

@jimabramson