Gold: support paying for one-time with creddits
API: add "distinguished" to messages
new_message: Move get_sent update out of loop

Updating the get_sent query was previously done inside the loop over
inbox_rels, which meant both that it wasn't updated if inbox_rels was
empty, and that it was (unnecessarily) updated multiple times if there
are multiple rels.

This also moves the CachedQueryMutator instantiation outside the loop,
so we only use one instance if there are multiple rels.
Messages page: don't show spam top-level messages
Message._new: add hook to check whether to inbox
Vote: pass vote_info into valid_thing
Vote: exit processing early if vote is unchanged
Vote: don't recalc valid_thing if already False