Extract eval and factory functions out. Remove addSourceUrl from production modules.
Create instantiateJs to abstract detection and instantiation of all JS module types.
Inject default set of hooks into hooksFromMetadata().
Remove previous problematic way to ensure debug evals were loaded.
Remove duplicate var declaration.
Fix production json/eval (wrap json in parens).
Inject instantiators into instantiateJS from rave/auto.

Move code to extract moduleType from metadata to lib/metadata.
Move code to sniff moduleType to debug version of module.
Fully invert creation of instantiate hooks and inject debug versions during development.

Inject module evaluation functions into factories (or AMD captureDefine func).
Create debug versions of factories and AMD captureDefine.