webadmin: UI plugins - SystemTreeSelectionChange

This patch adds 'SystemTreeSelectionChange' event
handler function that gets called whenever System
Tree node selection changes.

Example usage:

api.register({
  SystemTreeSelectionChange: function(selectedItem) {

    // Currently using SystemTreeItemType enum name
    // e.g. 'System', 'DataCenters', 'DataCenter', etc.
    alert(selectedItem.type);

    // Defined if there is business entity associated
    // e.g. for 'DataCenter' -> { id: '..', name:'..' }
    // See EntityObject#from for details on mapping
    alert(selectedItem.entity);

  }
});

It also fixes some issues in JsArrayHelper and adds
JsMutableObjectWithProperties to deal with mutable
native JS objects within UI plugin infrastructure.

Change-Id: Ib01721c309912526f8d7f8252e94b44e0dbfd423
Bug-Url: https://bugzilla.redhat.com/1066425
Signed-off-by: Vojtech Szocs <vszocs@redhat.com>