The name is a habit to distinguish between views that return templates and views that don't, but I agree that the difference doesn't really matter. For this iteration voting is ajax-only, at least.

As for a single view, as noted below we don't actually want the session magic for unvote because unauthenticated users should never see an unvote button, and thus adds complexity (in the other places where we'd have to support it, mainly the verify view) that isn't necessary.