Make it possible to disable crowbar users

In some cases, it might be desirable to add additional users to log in
crowbar, and therefore to also enable/disable them. A new optional
"disabled" attribute can be used for this.
Fix error handling in find_role_by_name

When find_role_by_name was called while the chef-server was restarting
(Chef::Role.load throwing a connecting refused exception) this was handled as
if the role was not present in chef. This can lead to a problem where the
Node Role of the admin node will be overwritten, when the chef-server is
restarted while a client tries to load http://<admin>:3000/nodes/status.

This patch changes find_role_by_name to only return nil if Chef::Role.load
returns "Not found". All other exception thrown by Chef::Role.load are treated
as errors.
Remove mention of redhat_install and ubuntu_install barclamps

They're not used since quite some time.
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] (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] Adapt views to use Twitter Bootstrap

 * Style all presently visible pages
 * Remove condensed table tags
 * Remove much of old SASS styles
[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
[UI/UX] Get column span to match number of columns
Style network barclamp