Make cache references weak

Allow garbage collection of objects in the cache once all other references have gone out of scope, i.e. they are no longer being used.
Use AutoPrereqs dzil plugin to fix module dependencies
Add tests for having a custom normalizer. Remove redundant normalizer tests.