Introduce Fulfill request and Cancelled event
- Added Fulfill Request - this completes the reservation by removing it from the system and removing related items from the inventory. It comes with Fulfilled event
In reality this is done via a series of "PickItem-Picked" operations, but we don't care that much.
- Added Cancelled event - when reservation is cancelled, "releasing" all locked items. There is no Cancel request. The purpose is to support over-reservation process, where reservation from VIP customer might evict less valuable reservations