Respect new HAVE_CHEF_WEBUI option from crowbar

Do not add a link to the chef webui for that node if there's no webui.
reintroduce wait_for_pxe_state to fix node state transistions

This function was added in the branch release/essex-hack-suse/master.
As the node state transitions break with slow admin nodes, we need to
wait for the next state to be set in the pxe configuration
Merge pull request #173 from jdsn/release/pebbles/master-wait-for-pxe

reintroduce wait_for_pxe_state to fix node state transistions with slow admin nodes
Revert "reintroduce wait_for_pxe_state to fix node state transistions"

This reverts commit eff468bbb9658635f4737db7c0cdbdc82999959a
which should not have been merged - see:

  https://github.com/crowbar/barclamp-provisioner/pull/173
Merge pull request #176 from aspiers/revert-essex-hack-suse-wait-for-pxe-state

Revert "reintroduce wait_for_pxe_state to fix node state transistions".

Merging without smoke-test since simply returns repo to previous state.
Merge pull request #174 from vuntz/no-chef-link

Respect new HAVE_CHEF_WEBUI option from crowbar
fix typos
coding style: spaces around = and << assignments
fix indentation
Add crowbar-status and crowbar-failed in schema

Otherwise, barclamp_mgmt_lib.rb will edit the schema and add them, which
will make the files differ from the ones in the package.

Part of https://bugzilla.novell.com/show_bug.cgi?id=776583
Set proposal_schema_version to 2 in crowbar.yml

This is needed when we have crowbar-status/crowbar-failed in the schema.
parse_node_data: allow key elements containing '.', by backslash-escaping

    ./parse_node_data -a 'foo.2\.0.bar' test.json

will now return 'value' when fed:

    {
      "foo": {
        "2.0": {
          "bar": "value"
        }
      }
    }

This is now required since we will be enumerating repositories to be
included in autoyast.xml generation from meta-data contained in
provisioner.json, and we want to key that meta-data by repository
name to avoid requiring an extra set of repository keys.  Repository
names can be things like "SUSE-Cloud-2.0-Updates", hence the need for
allowing JSON key elements to contain ".".

There is a corresponding commit in the top-level crowbar repository
adding the same behaviour to json-edit.
add support for autoyast installation using external SMT server

Appropriate JSON would be something like:

    {
      "attributes": {
        "provisioner": {
          "suse": {
            "autoyast": {
              "repos": {
                "SLES11-SP3-Updates": {
                  "url": "http://smt.suse.de/repo/$RCE/SLES11-SP3-Updates/sle-11-x86_64/"
                },
                "SLES11-SP3-Pool": {
                  "url": "http://smt.suse.de/repo/$RCE/SLES11-SP3-Pool/sle-11-x86_64/"
                }
              }
            }
          }
        }
      }
    }
add support for ssh access during autoyast

Appropriate JSON would be something like:

    {
      "attributes": {
        "provisioner": {
          "suse": {
            "autoyast": {
              "ssh_password": "<password>"
            }
          }
        }
      }
    }
Use /var/log/crowbar/sledgehammer instead of /install-logs

Be a good citizen and put logs where they belong too.
Merge pull request #177 from aspiers/external-smt

allow overriding of autoyast repository URLs
Merge pull request #178 from vuntz/add-missing-attributes

Add crowbar-status and crowbar-failed in schema [14/18]
Merge pull request #181 from vuntz/install-logs

https://github.com/crowbar/barclamp-provisioner/pull/181

Merged by devtool for cloudsleuth