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.
Fix for allowing barclamp tarballs to have a "-barclamp" in the name
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
Add dependencies for the test framework.
Add notes about debhelper support.
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 #1885 from jjacob512/pull-req-master-e41335763adcb3c0daf7f1e448bf8764f2b9d0d2

Fix for allowing barclamp tarballs to have a "-barclamp" in the name [1/1]