Expose attrib setting API for testing, expose attribs in node UI [1/2]

Exposes ways to set node.discovery attributes in order to allow round trip testing
of the attribute system.

It made sense to have the attrib model be able to create a discovery mapping to make it
easy and consistent to set attributes on nodes.

The API allows directly injecting discovery json to the node model OR
  just setting the attribute using /nodes/[]/attribs/[] {value:setme}

The docs and tests have been updated with this functionality.

Additional bugs fixed in this pull
* application controller was not updating attributes correctly
* test jig was failing when delay was set as a string



 BDD/attrib.erl                                     |   24 ++++++++++++++
 BDD/bdd_restrat.erl                                |   29 +++++++++++-----
 BDD/features/attrib.feature                        |   26 ++++++++++++++-
 BDD/json.erl                                       |    8 ++++-
 .../app/controllers/application_controller.rb      |    6 ++--
 .../app/controllers/attribs_controller.rb          |   14 ++++++--
 .../app/controllers/nodes_controller.rb            |   12 +++++--
 crowbar_framework/app/models/attrib.rb             |   35 +++++++++++++++++---
 crowbar_framework/app/views/attribs/show.html.haml |    2 +-
 crowbar_framework/app/views/nodes/show.html.haml   |   20 +++++++++++
 crowbar_framework/config/locales/crowbar/en.yml    |    4 +++
 doc/devguide/api/node.md                           |   15 +++++++++
 12 files changed, 170 insertions(+), 25 deletions(-)

Crowbar-Pull-ID: 1e1d51f3a00255be609e66e7e29427b97c63f986

Crowbar-Release: development