ILSGateway product stock migration and first reports

@czue PR contains migration of some small part of stock data from ILSGateway. Some logic is directly moved from ILS.
Feels like you could abstract this functionality out to be able to give descriptive names to what you're checking for.

```
def is_receiver_facility(self):
    # my choice of name here is probably bad, because i'm not super sure on the
    # intent, hence wanting these abstracted
    return self.title in [SupplyPointStatusTypes.DELIVERY_FACILITY, SupplyPointStatusTypes.SUPERVISION_FACILITY]
```

```
assert self.is_receiver_facility()
return self.responded - self.complete
```