Issue 41 - cache event stuff

My parting gift to Ehcache 3.0 (for now) - cache event implementation (issue #41).

Some things left to be resolved later: 
* `Cache.Entry` delivered with cache events doesn't support create/access times or hit rate. This is documented in https://groups.google.com/forum/#!topic/ehcache-dev/N_UTJKIlCNI
* `Store.compute*` methods that do not complete normally due to an exception may still result in event delivery to listeners. This is to be addressed as part of #165.
* Eviction isn't covered by existing unit tests. TBD possibly after #151 is merged in.
* Exceptions thrown by listeners aren't dealt with; deferring until after #52 is finalized.
Nothing more than asserting that the event was called. The only coverage in here seems to be the computeXXX() Store methods. Many other Store methods can trigger expirations and the test cases don't assert anything about event listener calls