Added support for 'spare' file that can be used at startup.
Memory-mapped files make I/O errors into bus errors if something
is wrong with the file and cannot be mapped, including if the file
is sparse and the disk is full. To counter this, such files are now
always pre-allocated to their full size but this has a cost.
To counter the cost, create a "spare" file some time after startup
that can be used for persistent metrics during the following run,
thus eliminating the cost of pre-allocating that file during browser
This is especially important on Android where the cost of allocating
the file is significant and yet persisting metrics is the most useful.
Performance tests indicate this reverses both android regressions
but it won't be until real metrics start being collected that an
accurate assessment can be made.