Adding node modules for extension installation.
(Doing this separately from the other extension installation changes so we don't
overwhelm the diff view on github.)
initial package validation. includes metadata and checks for
existence of package.json
move package.json into node directory (which makes more sense)
error messages from package validator are now localized
now handles error conditions, invalid zip files, invalid json and
missing name and version metadata
removed redundancy in the test code
Added flag to showModalDialogUsingTemplate() to allow dialogs to not autodismiss
Initial implementation of Install dialog, with a mock backend and some basic unit tests
added comments
checks for a semver compatible version number
add invalid version number to strings
update test to reflect updated version number in basic-valid-extension
adds check for main.js
Moved installation dialog into extensibility folder
ignore node_modules everywhere for jshint
Disable install button while url field is empty. Added unit tests for keyboard handling in various states.
Converted install extension dialog from singleton to a class
Added unit test for re-disabling Install button if url field becomes empty again
Make InstallerExtensionDialog.show() public (the class itself is private, but if you can access the class show() should be public). Also, remove the installer param to _showDialog() since it's never used.
handles basic installation