Refactored code introduced in #278

I've refactored analyzer.js, moving the newly-introduced regexes to constants.js.

One note: I noticed we have a define-centric regex called DEFINE_EXTRACTION_REGEX (used once in executor.js) which appears to be similar to our new define regex. Swapping out the old one with the new one causes the amd tests to fail so I've left it alone. Perhaps we can consolidate the two to avoid bloat.