[condense] Guard against recursive types in typeName

Issue #268
[def parser] Don't choke on typenames starting with exclamation points
Set the "fnArgs" property on synthesized function "arguments" arrays to differentiate them from other AVals
"flat" option for condenser to output unnested defs
Treat RequireJS dep paths as relative to current file
Implement condensing for requirejs plugin
require_setup test case
require_empty_deps
require_dep
"origin:" test directive for testing the origin source file
standardize on using no ".js" for requirejs
Set origin on RequireJS modules to fix condensing of primitive-typed modules
Use correct String.prototype.length URL and docstring
Store origin def paths on def AVals
Type hints
Type hints
Treat RequireJS dep paths as relative to current file
"origin:" test directive for testing the origin source file
log effect
Merge condensed definitions with those analyzed in the source