Events expiry

A refresh to events. Now with better lookup planning and optional expiration of events after some timeout. Note: there is nothing setting that timeout now. It could be in a thread/runloop for the publisher or it could be set async during lookups (similar to where the cleanup is performed).