Issue #41: Initial cut of cache event listener notification layer and relevant plumbing, though no actual events are wired in yet.
Issue #41: added event factory methods and store-initiated event support (expiration/eviction).
Issue #41: wired in the rest of cache events and added unit tests.
Merge branch 'issue-41' of https://github.com/vfunshteyn/ehcache3 into foo

Conflicts:
	core/src/main/java/org/ehcache/Ehcache.java
	core/src/main/java/org/ehcache/config/BaseCacheConfiguration.java
	core/src/main/java/org/ehcache/spi/cache/Store.java
	impl/src/main/java/org/ehcache/internal/HeapCache.java
	impl/src/main/java/org/ehcache/internal/store/OnHeapStore.java