CB 2.0: Make the network barclamp really work, and make all the recipes really Chef11 compliant. [1/5]

This pull request series makes the network barclamp interact with the
core Crowbar framework allow for:

* Dynamic creation of networks at point of need rather than having to
set them all up ahead of time.
* Presenting networks as roles to the core Crowbar framework.
* Presenting address and network interface allocations as noderoles.

Since this is a first-pass implementation, it lacks a few amenities:

* Networks cannot be edited after they are created.  This will be
  addressed once we get a good idea about what sorts of edits to a
  network make sense in a running cluster, and how to make edits on a
  live cluster with a decent stab at not losing overall connectivity.
* Address allocations can not be deleted once created.  This will be
  enabled once we have a better idea about how to do so in a way that
  does not break the node-role graph.
* The network barclamp only knows how to present information to the
core, it has no idea how to get information back.
* The admin network is special, and that specialness is hardcoded.  It
  should be driven by configuration metadata from the network-server
  role instead.


This also fixes up a series of non-Chef 11 compliant recipes due to a
combination of bad cache hygene on my part and the Chef 10 client
imnitruck installer having an inexplicably higher priority than the
Chef 11 one.



 crowbar.yml                                        |    3 +
 crowbar_framework/app/models/barclamp.rb           |   53 ++-
 crowbar_framework/app/models/jig.rb                |    9 +
 crowbar_framework/app/models/node.rb               |    2 +-
 crowbar_framework/app/models/node_role.rb          |   10 +-
 crowbar_framework/app/models/role.rb               |   55 ++-
 crowbar_framework/app/models/role_require.rb       |    8 +
 .../config/initializers/api_helpers.rb             |    1 +
 .../db/migrate/20120731225510_create_roles.rb      |    1 +
 crowbar_framework/lib/ip.rb                        |  369 ++++++++++++++++++++
 10 files changed, 449 insertions(+), 62 deletions(-)

Crowbar-Pull-ID: 402e9ce91111702c1f810a6a19545ee4d489a3f9

Crowbar-Release: development