Fixed #16358 - Failure to set a memcache key deletes the key

Default Memcached configuration allows for a maximum object of 1MB and
will fail to set the key if it is too large. The key will be deleted from
memcached if it fails to be set. This is needed to avoid an issue with
cache_db session backend using the old value stored in memcached, instead
of the newer value stored in the database.
If we could assert it's None or the large value, that seems slightly better. Otherwise, LGTM.