Actually cache blob values in memory.

Previously, by property/setter magic, doing `part.data = value` in message
parsing would write to the data to S3. Then accessing `part.data` in
`message.body` would read it right back. Not ideal.

It seems the original intent was to actually parallelize persisting to disk,
but that code has bitrotted. This is an interim patch, but we should definitely
take another look.