dropBefore
Drops the state of ref when it is cached at a version before version, atomically with take and put: a stream of the aggregate at version is in the log, so the state is behind it. Whether it dropped one. A state taken out for a command is not in the cache and is left alone: that command's append meets the version and conflicts. Drops nothing by default: a cache that cannot drop atomically leaves its stale states to their conflicts.