Find and fix a bug in reader_block_cache

extract had turn instead of !turn in a comparison.  reader_block_cache
hadn't been used before, so this bug was harmless.  Now the code is
tested as part of the mpi unit tests (which I confirmed did not like
the previous implementation of extract()).