Rm padded.CacheBuffer separating read/write fields

Previously we had a padded.CacheBuffer between the read, writeCache and
write, readCache fields. Because those fields are seperated from each
other by being inside a padded.Int64 field this is unnecessary.
Renamed cache-buffer fields to _pre/mid/postbuffer

Previously they were _1, _2 and _3 which meant whenever we put another
buffer somewhere in the middle of the struct we would need to renaming
all of the lower down buffers.