Use MTOSI notifications to track reservation status.

We now avoid polling as much as possible and use the secondary service
state from the notifications directly. Out-of-order notifications are
handled by the ReservationStatus enum transition tables.

Polling is still used in case we miss a notification. Handling a
non-queryable reservation (immediately after being requested and after
being terminated) is still to be implemented.