'Remove a tag from a room for a user.
Returns:
A deferred that completes once the tag has been removed'

@defer.inlineCallbacks
def remove_tag_from_room(self, user_id, room_id, tag):

    def remove_tag_txn(txn, next_id):
        sql = 'DELETE    FROM    room_tags        WHERE    user_id    =    ?    AND    room_id    =    ?    AND    tag    =    ?'
        txn.execute(sql, (user_id, room_id, tag))
        self._update_revision_txn(txn, user_id, room_id, next_id)
    with self._account_data_id_gen.get_next() as next_id:
        (yield self.runInteraction('remove_tag', remove_tag_txn, next_id))
    self.get_tags_for_user.invalidate((user_id,))
    result = self._account_data_id_gen.get_current_token()
    defer.returnValue(result)
