Allow using the serial number for defining the bus order

This syncs in the latests changes from the get_bus_order function in the
"barclamp" cookbook of the "deployer" barclamp.
Fix NodeObject.save to properly remove elements from node

When an element got removed from the role, we also need to remove the
element from the node when saving it.

Chef::Mixin::DeepMerge::deep_merge is not removing any element, it's
just adding/replacing. So we need to have an old copy of the role
attributes after the last save, to be able to identify the removed
elements, and remove them from the node elements.

Note that there's a knockout_prefix option in
Chef::Mixin::DeepMerge::deep_merge that we could use, but it doesn't
really remove the element (it gives it an empty value) and it's gone in
chef 11.
Allow passing an incomplete json when creating a proposal

Until now, when creating a proposal with some existing json, it was
required that the json contained a full proposal definition. Two big
downsides of this are:

 a) it's easy to break stuff by accident when changing a proposal
 b) if the schema changes to add new mandatory attributes, people can
    not simply re-use old json they had around; they have to update them

This commit allows passing an incomplete json with only a subset of
attributes. It will take the default json, and overwrite any attribute
there with the ones from the incomplete json.

Such an incomplete json must have a crowbar-deep-merge-template toplevel
attribute set to true. Otherwise, the old behavior is kept.

Note that this is not using Chef::Mixin::DeepMerge::deep_merge! as a
deep merge is also merging arrays in attribute values, which is
something not desired here. The hash_only_merge! API is actually
available in Chef 11 in Chef::Mixin::DeepMerge, so this is just a
backport.

For all that matters, this is backwards-compatible.
[Security] Upgrade from Rails 2.3.17 to 2.3.18

Update to latest Rails 2.3.x stable release. Fixes the following CVEs:

  * CVE-2013-1854 Symbol DoS vulnerability in Active Record
  * CVE-2013-1855 XSS vulnerability in sanitize_css in Action Pack
  * CVE-2013-1856 XML Parsing Vulnerability affecting JRuby users
  * CVE-2013-1857 XSS Vulnerability in the sanitize helper of Ruby on
    Rails

http://weblog.rubyonrails.org/2013/3/18/SEC-ANN-Rails-3-2-13-3-1-12-and-2-3-18-have-been-released/
Change puts call to log with debug to avoid unneeded spam
[IBS] (Patch1) Remove Dell footer

Move `remove-dell-footer.patch` from IBS [1] to Git.

[1] https://build.suse.de/package/show?package=crowbar-barclamp-crowbar&project=Devel%3ACloud%3A2.0
[IBS] (Patch2) Replace error contact message with SUSE one

Move `error-contact-cloud-beta.patch` from IBS [1] to Git.

[1] https://build.suse.de/package/show?package=crowbar-barclamp-crowbar&project=Devel%3ACloud%3A2.0
[IBS] (Patch4) Disable pull-from-source (PFS)

Move `no-pfs.patch` from IBS [1] to Git.

[1] https://build.suse.de/package/show?package=crowbar-barclamp-crowbar&project=Devel%3ACloud%3A2.0
[IBS] (Patch5) Add style to redirect page

Move `suse-style-redirect.patch` from IBS to Git.

[1] https://build.suse.de/package/show?package=crowbar-barclamp-crowbar&project=Devel%3ACloud%3A2.0
[UI/UX] Add Twitter Bootstrap framework

See http://twitter.github.io/bootstrap/ for details on Bootstrap.

Getting this to work on Rails 2.3 is a little more tricky than in
current Rails (3.x) since it doesn't have Sprockets. We workaround this
by using Compass (http://compass-style.org/) which then allows us to use
bootstrap-sass (https://github.com/thomas-mcdonald/bootstrap-sass).

These asset (CSS, Javascript) compilation-only Gem dependencies don't
need to be included in the product as we can precompile the assets
during build time. But we'll need to modify the code to allow this, or
find another solution.
[UI/UX] Use Bootstrap classes with

 * Main layout
 * Node dashboard
 * Bulk edit
[UI/UX] More Bootstrap styling

 * Finish Node menu styling
 * Styles the Utilities export
 * Main Help/Documentation styling
[UI/UX] Remove condensed table tags

Might reintroduce them in the future, but for now it seems ok.
[UI/UX] Style barclamps menu

Also removes much of old SASS styles.
[UI/UX] Style all presently visible pages

 * Still need to see many nodes to understand the UI and see the
   interface for editing a proposal.
 * Someone needs to look at the copy-writing.
 * I currently cannot created a proposal. There might be problems with
   these interfaces.
[Docs] Fix up the Help navigation and page

 * Site navigation menu should have consistent behavior and bring you to
   pages, rather than triggering PDF downloads. Remove sub-menu items
   and just have a simple page providing the relevant links to both HTML
   and PDF docs.
 * Update external wiki link from the old dellcloudedge Github
   organization to crowbar. Also add warning that external wiki contains
   information for a different version.
 * Remove unused code that generates (incomplete) HTML docs.
 * Remove outdated, Dell specific PDF docs.
 * Add symlinks to SUSE Cloud PDF documentation. Requires the
   susecloud-{admin,deployment,user}_en-pdf RPMs to be installed.
 * Add symlinks to SUSE Cloud HTML documentation. Requires the
   susecloud-manuals_en RPM to be installed.
[NavMenu] Remove 'Nodes -> Family Groups', even when in dev

So we see the same thing in both development and production, and helps
to avoid confusion.
[UI/UX] Fix the footer

* Remove the 'Development' / 'Production' version string. It's not
  useful for users since it's always 'Production'. Developers should
  know which environment they are running in, and for the most part it
  doesn't make a difference in terms of functionality.
* Fix weird code to remove duplication of the footer, which led to the
  brokeness (eg. different footer depending on whether you had a flash
  notice or not).
* Use link_to helpers to simplify the code.
style edit proposal page
Temporary fix for colspan on table footer

 * Still needs logic to set the colspan correctly