Client command framework improvements
1. Introduced contextual commands.
2. Added ${explorer.current.file.parent.path} macro.
3. Cleaned up unused resources.
4. Refactored code in order to simplify it and made it more clear and understandable:
- simplified a way of providing new command types;
- command types api moved to ide-api to avoid unnecessary dependency on machine extension;
- command management extracted from EditCommandsPresenter to the separate facade - CommandManager. So EditCommandsPresenter now doesn't perform several http requests manipulating with commands but only one;
- refactored code related to the obsolete terminology CommandPropertyValueProvider -> Macro;
- macro can provide its description (it will be really useful for showing it in UI);
- macros processing separated from the command execution and extracted to the separate component MacroProcessor since it's used not only for the commands but in debug configurations for example.
Add possibility find source file from another module or external java project and open it in time of debugging. For realizing it we use JDT on the server side.
Fix opening file in case if we debug inner classes or lyambda.
Fix render debug line for java classes from external jars after click to download source link.
Add path to wsagent into wsagent server url to avoid doing that on client-side
Add class DevMachine on client-side what contain all needed information for communicate with wsagent and terminal
Remove @Named(cheExtensionPath)
Signed-off-by: Vitaly Parfonov <vparfonov@codenvy.com>