Add plugins section
Merge branch 'master' into ui-plugins
Fix path for plugins.js
CSS: Cleanup formatting
Add/style basic plugin listing
Add plugin loading functionality and basic framework

Dynamically load UI plugins via require.js

Plugin code uses the following format:

(function (cloudStack) {
  var testPlugin1 = function(plugin) {
    // Plugin code goes here
  };

  cloudStack.plugin({
    id: 'testPlugin1',
    title: 'Test Plugin 1',
    desc: 'Sample plugin 1',
    load: testPlugin1
  });
}(cloudStack));
UI Plugin: Use new format

Define plugins as namespaced objects instead of as function calls. This
is easier to implement and manage by the framework.

New format changes for defining plugins:

Now create 2 JS files in plugin folder:
  -config.js
  -[pluginName].js

plugins.js (listing) format:

  cloudStack.plugins = [
    'testPlugin'
  ];

config.js format:

  cloudStack.plugins.testPlugin.config = {
    title: 'Test Plugin',
    desc: 'Sample plugin'
  };

[pluginName].js format:

  cloudStack.plugins.testPlugin = function(plugin) {
    //
    // Plugin code goes here
    //
  };
UI sections: Support per-section pre-filter

In addition to the main sectionPreFilter in the cloudStack UI, allow a
per-section 'preFilter' which is called if the navigation section is
not returned in sectionPreFilter. This is used primarily to support
plugin sections which will not be displayed by default.
UI plugins API: addSection method

Adds 'addSection' method to UI plugins, which will add a new top-level
section. It follows the same syntax used by the existing sections in
the UI.
Merge branch 'master' into ui-plugins
Merge branch 'master' into ui-plugins
Merge branch 'master' into ui-plugins
db / upgrade: Add columns to sync_queue and sync_queue_item

These columns were not added by the upgrade from 4.0 to 4.1 causing SQL-errors

These columns are present in create-schema.sql, so by adding them here the upgrade also works to 4.1
S3-backed Secondary Storage
Add plugin detail view on click
Merge branch 'master' into ui-plugins
Merge branch 'master' into ui-plugins
UI plugins: Dynamically load CSS

Adds a CSS file <pluginName>.css to the plugin structure, which allows
developer to specify custom CSS to be loaded after their JS code.
UI Detail view: support external links

If externalLink is specified in detail view field attributes, then
render its value as <a> hyperlink.
UI plugins: Add more metadata

Add more metadata to plugin config.js:

- externalLink: Link to plugin/author's web site
- authorName: Author's full name
- authorEmail: Author's contact e-mail