Wait until all core extensions are loaded before loading user extensions.
This makes menu ordering more consistent, and fixes bug #5442 where the
order of registration matters.

Also change extension loading to work with arrays most of the time, avoiding
bugs if there are ","s in pathnames.

And fix stale comment in ExtensionManager.
Ensure linting results update when a new linter is registered that might
affect the current file. Linters can register very late due to on-the-fly
Extension Manager installs.
Only show one entry in rule list for rules with multiple matching selectors
Add named lodash AMD module
Convert instances of Array.slice(0) to _.clone()
Remove NumberUtils in favor of _.random
Deprecate StringUtils.htmlEscape in favor of _.escape
Replace CollectionUtils.indexOf, some, forEach and hasProperty with _.findIndex, some, foreach and has, respectively
Remove superfluous StringUtils requires
Add lodash as a SpecRunner dependency
Add contentChange event to TextRange. Make it so original change event doesn't fire if boundaries don't actually change.
Update label in rule list when a selector is edited
Merge branch 'css-quick-edit-new-selector' into nj/update-rule-label
Remove Async.whenIdle in favor of _.debounce
Merge branch 'master' into nj/update-rule-label
squashed commits for inline bezier curve editor
Merge pull request #5550 from adobe/randy/cubic-bezier-squashed

Squashed commits for Inline Bezier Curve Editor
Merge branch 'brackets' into iwehrman/lo-dash

Conflicts:
	src/editor/InlineTextEditor.js
Rewrite getRangeSelectors() to use extractAllSelectors()
Made unit test for getRangeSelectors() slightly more realistic