Issue #27 Lifecycle stuff, ready for final review pass

Before I start implementing this all over the place!
For EhcacheManager and EhcacheManager test, the diff here looks like total deletion and addition. Is git aware of the rename or was it done manually? If I knew git well enough I could probably figure this out myself from your commits, but I'm not that smart yet