allow core providers to access their provider, so that they can close themselves.
add tests, handle ordering issues around closure
initial arguments to core providers is an object with definable keys
make flags non-exclusive
Merge pull request #164 from freedomjs/willscott-coreLifeCycle

Add configuration for core providers to expose the provider interface.