[4.2] File Store Increment/Decrement [TAKE 2]

I've had another go at #4695. I think I've managed to retain the cache expiration times. Tell me what you think.
Sure thing. I'll rebase this pull at the same time too...