Merge pull request #11 from MirantisDellCrowbar/BUG/DCB-159/release/pebbles/master

merging fix for "Bug/dcb 159/release/pebbles/master"
Merge pull request #12 from crowbar/release/pebbles/master

pull changes from dell
centos use /var/run/httpd/httpd.pid as pid file, if recipe change pidfile to something else service will not able to deal with previously started apache
to check if node rebooting we should use runlevel for rhel
initial rhel support
more logging
workaround for http://projects.puppetlabs.com/issues/2776
webui: Use display name when displaying barclamp name as title

This makes the title consistent with the displayed name in the list of
barclamps.
avoid undefined method `foo' for nil:NilClass when state is nil

Sometimes node state can be nil, e.g. (AFAICS) if logrotate restarts
chef daemons at the same time as a Crowbar API query:

  https://bugzilla.novell.com/show_bug.cgi?id=838142#c3

We should consistently return a String ("unknown") even in these cases,
to ensure that code like

  node.state.titlecase

doesn't barf.
Avoid browser password safe dialog in barclamp edit forms

For example, cinder backend password input tags trigger that but the
only password worth storing would be the crowbar admin password (if we
would use Rails instead of digest-auth).
Do not save node on allocate if already node is already allocated

This fixes an issue where the save call done for the allocation is
racing with the save call of a state transition for the same node.

It's not optimal for sure, though.
rescue StandardError not Exception

http://stackoverflow.com/questions/10048173/why-is-it-bad-style-to-rescue-exception-e-in-ruby
don't discard valuable debug information from exceptions

https://bugzilla.novell.com/show_bug.cgi?id=840255
style tweak for consistency
explain how data structures order in series then in parallel

ServiceObject#apply_role is a grossly overgrown and complicated
method, and also just happens to be probably the most critical
part of Crowbar's core engine.  So anything we can do to make
it more legible is a worthwhile investment.
ServiceObject#apply_role: rename nodes to pending_node_actions

ServiceObject#apply_role is a grossly overgrown and complicated method,
and also just happens to be probably the most critical part of Crowbar's
core engine.  So anything we can do to make it more legible is a
worthwhile investment.  Renaming and explaining cryptic variables helps,
as does moving variables closer to where they are used.

This is a refactoring only, and should not affect behaviour in any way.
rename cryptic "snodes" to "non_admin_nodes"

ServiceObject#apply_role is a grossly overgrown and complicated
method, and also just happens to be probably the most critical
part of Crowbar's core engine.  So anything we can do to make
it more legible is a worthwhile investment.

This is a refactoring only, and should not affect behaviour in any way.
rename cryptic "r_nodes" variable to "nodes_in_batch"

ServiceObject#apply_role is a grossly overgrown and complicated
method, and also just happens to be probably the most critical
part of Crowbar's core engine.  So anything we can do to make
it more legible is a worthwhile investment.

This is a refactoring only, and should not affect behaviour in any way.
webui: Improve bulk edit view after Hyper-V merge

Do not make platform and license key editable for allocated nodes.
Simplify code around the target platform

Also use pretty target platform in more places.