Issue #27 Lifecycle stuff, ready for final review pass

Before I start implementing this all over the place!
No, see `org.ehcache.EhcacheManager#createCache` when something goes wrong creating the `Cache`. Basically we want to have threads accessing this alias concurrently block while one is responsible to create the actual `Cache`, if that fails it's set to `null`