leaner meaner resource store

This changes the resource store to hold onto less data at runtime.  Notable changes are:
* store.getResources() is now gone.
* AOP methods/events during preload() have been reworked, so that metadata can be kept in a leaner format.
* store.optimizeForEnvironment() so that store can drop data that isn't used during runtime in production.  Thus, after the server starts store.getResourceVersions() is no longer appropriate.