store: return when read_only is set

I'm mostly concerned about CAS here @fbogsany, do we need to process the block either way, or can we assume it's safe to skip it? I'm thinking if a client is doing something with a side-effect in the block, we need to actually execute the block—but ignore the return value?
Fuck github - I can't comment on the line I want. This should be:
```ruby
      def cas(name, options = nil)
         options = merged_options(options)
         key = namespaced_key(name, options)
 
         instrument(:cas, name, options) do
           @data.cas(key, expiration(options), cas_raw?(options)) do |raw_value|
             entry = deserialize_entry(raw_value)
             value = yield entry.value
             break true if read_only
             serialize_entry(Entry.new(value, options), options).first
           end
         end
       rescue *NONFATAL_EXCEPTIONS => e
         @data.log_exception(e)
         false
       end
```
The key line is `break true if read_only`, which allows the read but not the write (which happens when the block passed to `@data.cas` completes).