Adding cleanup to outbox

Still a WIP.

I can't figure out how to do cascade deletes :disappointed: 

I've added `Inverse(true)` to the mapping but that broke other unit tests, so I'm not sure how to do this?

@johannesg are you able to review this and help me getting cascade deletes working?
The issue is when I try to call https://github.com/Particular/NServiceBus.NHibernate/blob/527d5d67ffa1e6b7a2700e20836af86d06a6ee38/src/NServiceBus.NHibernate/Outbox/OutboxPersister.cs#L99 and there are children.

Is it possible to use `CreateQuery` and do a cascade delete as part of it ?