Revert "Revert "Rewrite code updating navigation.rb""

This reverts commit 8866b64e6b40fe917c5ac98b48415f96020f6461.
bc-network-admin-helper: Use ipaddr instead of manual parsing
bc-network-admin-helper: Validate networks definition

This checks for several kind of mistakes: missing networks, missing
ranges, conflicting networks/ranges, etc.
bc-network-admin-helper: Add validation for simple attributes
bc-network-admin-helper: Reorganize code

Having proper functions, and command line arguments makes the whole
thing more readable.
Rename bc-network-admin-helper.rb to network-json-validator

This is a much better name now that it does many more things.
network-json-validator: Do not require the use of --admin-ip

It's already useful to validate without this.
network-json-validator: Fix bmc/bmc_vlan checks

These networks don't need to be part of the admin network. But they need
to be the same network.
network-json-validator: Fix error string

It was not using the right variables.
network-json-validator: Validate that VLAN ID is present
network-json-validator: Fix un-raised errors
network-json-validator: Additional bmc/bmc_vlan validation

When bmc network is different from admin network, then it needs to use a
vlan, and bmc_vlan must be using the same configuration.
network-json-validator: Also validate the vlan id
network-json-validator: Add validation for conduits
network-json-validator: Validate conduits used by networks
Stop bringing Chef up behind the back of the Crowbar framework.

I am working on having the Chef server and client install and operate
like any other node roles, and I need to stop fooling the framework
into thinking it is operating correctly in order to do so.
Merge pull request #1864 from vuntz/rebuild-navigation

https://github.com/crowbar/crowbar/pull/1864

Merged by devtool for cloudsleuth
Merge pull request #1881 from vuntz/bc-network-admin-helper

Completely rewrite bc-network-admin-helper.rb to a much more complete validator
Merge pull request #1886 from VictorLowther/pull-req-master-90ca95ce1c071c0e2bbb42c26ed6e3424e541022

https://github.com/crowbar/crowbar/pull/1886

Merged by devtool for VictorLowther
extract json_edit variable for brevity