For review comments only - issue #72, Exipration stuff

Plenty of questionable things in here: 
- The interface of `org.ehcache.expiry.Expiry`
- The implementation of expiration in OnHeapStore
  - in particular the while(true) loops. I think it could be reasonable to return without looping even though it is known a newer/more-accurate answer might be observable
- The way `Expiry` gets into a Cache and then onto the Store, as explicit methods on the config objects
- The way the `TimeSource` gets into OnHeapStore (no idea if I used the service config concept correctly)
  - see `org.ehcache.internal.store.OnHeapStore.Provider`
- no updated javadocs (in particular updating `Store` methods to talk about expiration
- no new tests
I considered creating the new `ValueHolder` outside the function as well. My reasoning for doing it inside was so that the `Expiry.getExpiryForCreation()` would only ever be called if something was indeed being added. Creating the potential new value holder up front makes the call on the `Expiry` but that might not end up in the store. 

I'm happy to change things to minimize the work inside the function if desired, but I did have my reason for doing it the way it is