CB-6481 adds plugin level hooks support

1.Support of **js hook files** (nodejs is used to run script file)

2.Support of the following **hook types**

*  beforeinstall/preinstall – run before plugin is installed
*  install/postinstall/afterinstall – run after plugin is installed
*  uninstall – run after plugin is uninstalled

    ```
    <script type="postinstall" src="scripts/postinstall.js" />
    <script type="preinstall" src="scripts/preinstall.js" />
    <script type="install" src="scripts/install.js" />
    ```


3.Use **context** argument to retrieve execution parameters **inside hook function**
````
module.exports = function(context) {
    console.log('hook.js>> platform: ' + context.platform);
    console.log('hook.js>> projectDir: ' + context.projectDir);
    console.log('hook.js>> pluginDir: ' + context.pluginDir);
    console.log('hook.js>> cmdLine: ' + context.cmdLine);

    var deferral = new Q.defer();

    setTimeout(function(){
        deferral.resolve();
    }, 1000);

    return deferral.promise;
}
````