make sure createWidget() also makes sure the 2nd argument is not a String in addition to asserting it's an object. JS is fun.
Allow sql fetch() to use prepared statements (ALOY-535)
Show how to use a prepared statement with sql adapter in models/sql_queries test app
add uglify-js 2.2.5 to the package.json dependency list
replaced all prettyPrintJson() calls with 3 parameter form of JSON.stringify()
remove unused variables
AST parsing, builtins handling, and compression/mangling have been converted to use uglify-js 2
removed old requires
renaming the mangle.s AST parser module to compress.js to be more in line with uglify-js 2 naming conventions
squeeze.js AST module no longer necessary, now handled in compress.js
remove unnecessary uglifyjs require
remove unnecessary file param from compress.js process() call
convert optimizer.js to use uglify-js v2, very different AST manipulation
re-enable optimizer.js AST parser
update optimizer.js test spec to use new uglify-js v2 compression
deleting vestigial generateCode() and formatAST() functions from compilerUtils.js
delete vestigial createEmptyState() function
Adding an AST parser for finding the base controller
fixed the returned default baseController string
use uglify-js v2 to find the parent controller