adding PurgeableThreadLocal with tests and default purge strategy.