[STORE] Add dedicated method to write temporary files

Recovery writes temporary files which might not end up in the
right distributor directories today. This commit adds a dedicated
API that allows specifying the target file name in order to create the
tempoary file in the correct directory.
we have here the hard assumtption that the metadata describes the filename given (we use the meta data to check wether the file has legacy check sums or not). I'm worried that the can potentially go wrong as we don't bake this into the API. Also, it seems that in practice we always use `metadata.name` as the file name. How about changing these functions to have the following public api:

`createVerifyingOutput(final StoreFileMetaData metadata,  final IOContext context)`

which uses `directory().createOutput(metadata.name, context)`

and 
`createVerifyingOutput(final tempFileName, final StoreFileMetaData metadata,  final IOContext context)`

which uses `distributorDirectory.createTempOutput(tempFilename, metadata.name, IOContext context)` 

both call createVerifyingOutput(IndexOutput output, final StoreFileMetaData metadata)  which is becomes private.

PS. it's a bit fishy that we use `directory()` to create an output  in some codes paths and distributorDirectory in another. Potentially there are other bugs hiding here?