'Delete the value specified by `kvs_key`.
Arguments:
kvs_key (`DjangoKeyValueStore.Key`): The field value to delete
Raises: KeyError if key isn\'t found in the cache'

@contract(kvs_key=DjangoKeyValueStore.Key)
def delete(self, kvs_key):

    cache_key = self._cache_key_for_kvs_key(kvs_key)
    if (cache_key not in self._cache):
        raise KeyError(kvs_key.field_name)
    field_state = self._cache[cache_key]
    if (kvs_key.field_name not in field_state):
        raise KeyError(kvs_key.field_name)
    self._client.delete(self.user.username, cache_key, fields=[kvs_key.field_name])
    del field_state[kvs_key.field_name]
