'Delete the given device
Args:
user_id (str):
device_id (str):
Returns:
defer.Deferred:'

@defer.inlineCallbacks
def delete_device(self, user_id, device_id):

    try:
        (yield self.store.delete_device(user_id, device_id))
    except errors.StoreError as e:
        if (e.code == 404):
            pass
        else:
            raise
    (yield self.store.user_delete_access_tokens(user_id, device_id=device_id, delete_refresh_tokens=True))
    (yield self.store.delete_e2e_keys_by_device(user_id=user_id, device_id=device_id))
    (yield self.notify_device_update(user_id, [device_id]))
