When a storage request is handled by the sales module, a slot index was randomly assigned and then the slot was filled.
Now, the random slot index is checked that its state is `SlotState.Free` before continuing with the download process.
An additional sales agent state was added, preparing, that handles this step of assigning a random slot index. All state machine setup, such as retrieving the request and subscribing to events that were previously in the `SaleDownloading` state have been moved to `SalePreparing`. If all indices of the request have been filled, the state is changed to `SaleIgnored`.
# Conflicts:
# codex/sales.nim
# codex/sales/states/downloading.nim
# codex/sales/states/filling.nim
# tests/contracts/testInteractions.nim