#170, added test cases for StoreEventListener on expiration and eviction

Hi Please review this pull request, few things to notice:

1. I moved TimeSource from impl to core module as i needed access to TimeSource for writing expiration tests.
2. There is a bug in testPutIfAbsentOnEviction test, as putIfAbsent call puts key/value in store even thou store capacity is reached.

Thanks

Gaurav
 
In that case, i can overload the newConfiguration method in store factory so there will be no changes to any other test cases and will limit the changes to tests