Major update to logic for custom widgets. Custom widgets are now each
stored in separate folders, and the various files for the custom widget
can be located anywhere under the top-level (module-level) folder. Also,
various fixes along the way. Fixes #3818. Fixes #3812. Fixes #3811. Also
add some Node.js utility scripts for automatically creating widget
metadata files from JavaScript files.
Merge master into checkout 3810-ProjectTemplates
Add new siteConfig option for controlling whether document.css should be
included in new documents.
missing dependency from 10b0b6c7dd726f1521069883fb6a03c7e1f35340 #2232
Merge branch 'master' of ssh://github.com/maqetta/maqetta
put back changes lost in last merge
turn off cookies
remove unused getMetaRoot service
remove unused service
need to persist the model and notify source editor of content change
refactor code in Context to States, remove unused method @jonferraiolo
remove URLRewrite reference
Minor fixes to ThemeHelper.js logic to deal with document.css. In
particular, make sure context update logic happens both when adding and
deleting document.css
Theme editors work again - were broken by recent custom widget fixes.
Merge branch 'siteConfigDocumentCss'
format stack traces
make getLibRoots call asynchronous
fix folder reference  Fixes #344
put global reference 'folder' in scope.  style changes.
Update LDAP plugin for Orion 1.0 changes.

@billreed63
#3481