Improve backing store control data serialisation

By scheduling the control data to be maintained (entries index written
and headers updated) once activity occurs to update these control
structures rather than a single serialisation at browser exit the data
is more likely to be up to date and not lost on a crash.
Limit creation of store path directories.

Only create all elements of a path in the store when it is being
opened for creation instead of causing reads to create directories.