Add data expiration support to core data managers

- Data managers can be configured with an optional data expiration
interval, which will purge data that has remained unmodified for this
span of time
- A specified time interval of 0 will disable the purge thread
- All data objects now have a "LastModified" field, which is maintained
by the server
- Be default, user data will expire after 5 minutes