webui: Tie Hardware Update button visibility to usage of BIOS/RAID

If the BIOS and RAID options are not available, then the Hardware Update
button is not needed, so we don't display it. In BIOS or/and RAID
options are available, then we display this button like before.
Add update_value_direct() javascript helper

The update_value() function cannot be passed directly a value: the value
needs to be fetched from an HTML component. There are some cases where
we might want to pass a value directly. So split update_value() code
into a update_value_direct() helper, and the code wrapping it.
Remove duplicated bus_index method
force crowbar to use activesupport 3.2.13
Fix the way how pci bus ids are compared

Crowbar used to strip everything after the first '.' in the busid. So for a
node with two nics and busids of:
0000:00/0000:00:03.0/0000:01:02.0 and 0000:00/0000:00:03.0/0000:01:03.0
Crowbar would strip down the busids of both devices to: 0000:00/0000:00:03.
This means it was not possible to define a custom busorder for such a
setup.

This commit changes the code to compare all components of the busids instead
stripping off some parts. It tries to be backwards compatible. If the busid in
the network proposal don't contain any '.' it falls back to the old method of
comparing the ids.

Unfortunately this code is duplicated in the deployer barclamp's cookbooks
and in the NodeObject class in the crowbar barclamp (added a note about that to
the code, as there is no easy way to get rid of the duplication).
Merge pull request #552 from vuntz/update_value_direct

Add update_value_direct() javascript helper
Merge pull request #550 from vuntz/hardware-update-visibility

webui: Tie Hardware Update button visibility to usage of BIOS/RAID
Merge pull request #558 from rhafer/pull-req-release-pebbles-master-03587f33beb579f50a699eb0e5b877e7f42332a7

Fix the way how pci bus ids are compared [2/2]
Merge pull request #561 from MirantisDellCrowbar/release/pebbles/unstable/master

freeze activesupport for nodes
Catch exceptions in apply_role_pre_chef_call

As this method can be overridden in barclamps, it can be buggy. And when
it's buggy, we don't want to block things. Until now, the nodes was
still in state applying, and this was making it completely unusable.

By catching a potential exception, we can recover.
Merge pull request #567 from vuntz/apply_role_pre_chef_call-exceptions

Catch exceptions in apply_role_pre_chef_call
Merge pull request #8 from crowbar/release/pebbles/master

pull changes from dell