batch hide and unhide API

I looked through the code, making sure it batches the Cassandra commits and updates the cached query `get_hidden_links`. (That code was already in class LinkHidesByAccount.)

Then executes `Link._something` or `_unsomething` to add a `SaveHide` relation with name='hide' for each link.

That part has a `_commit()` per Link, but I assume that's fine since that's how it's done in e.g. `Inbox.set_unread()`