Cleanup FileStorage

A set of cleanup changes, mainly to convince myself that it is thread safe and sufficiently robust...
Didn't realise that would dump the message too, nice.
I'd still argue `CHECK(status.ok()) << "blah blah: " << status` is a lot easier on the fingers, but they're yours so do with them as you wish :)