Implement an auto cleanup mechanism in the data layer
This allows Store implementations to specify a TTL or expiration_time for
entries in unique data tables.
This should make it a lot simpler to implement cleaning up of things like
session objects in a manner that is not tied to the actual data storage.
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>