add TwoLevelCache tests, change DistributedCache.Set expiration to TimeSpan (from DateTime) for more consistency with LocalCache