Set auto correlated saga properties automatically on incoming messages

A lot of work to pull this off:

- [ ] Clean-up all those caches in `Sagas.cs`
- [ ] Implement a saga metadata model
- ...