added check for null
whitespace
Now including WeaveExternalHelper.js and improved ExternalTool code.
Fixed bug where config.path was null.
Added 'Add External Tool' dialog, disabled by default in WeaveProperties.
Fixed bug with backwards compatibility code.

Change-Id: I1e03270bfa35851bc76562a0951a71e8180b744b
JavaScript code modified for backwards compatibility and added checking
for blocked popups.

Change-Id: Ic600d3404a4bee6ba1f5a256c8a9248b7d1a71db
Added workaround for IE JSON behavior with foreign Arrays.
Added external tool example files and eliminated the need for
WeaveExternalHelper.js.
Replaced IVisToolWithSelectableAttributes with
IObjectWithSelectableAttributes which does not extend IVisTool.
windowName is deterministic again.
added more cleanup code
organize imports
Removed unnecessary deprecated class specification.

Change-Id: I1da403478ff148bab24ccb9c8dd29bbecc2eec77
Added EditorManager to WeaveAPI.
Moved EditorManager to core project.
Added GlobalLib.describeTypeJSON
Use KeyTypeMenu in KeyMappingTool's editor.
Removed unnecessary console.log calls from cytoscapejs external tool.
Moved WeaveAPI to default package.