Adds power control (and the ability to retrieve power state) to the node slice.
Includes changes to the node slice and the node slice's RESTful API to support
this new functionality (adding new endpoints for getting/updating the power
state of the node in question) along with a couple of small bug fixes to the
image and policy slice (to catch bad UUIDs in the "GET by UUID" RESTful API
endpoint and throw the proper error) and changes to add an additional gem
to the Gemfile that is required to support the new IPMI-related functionality
Adds additional username and password fields that can be used to override the
underlying server configuration parameters
Fixes a couple of small copy-and-paste errors
Renames 'ipmi_command' in server config to 'ipmi_utility' (to avoid confusion with the commands
executed using IPMI), and adds support for querying for (and updating) the power-state of a node
when that node is identified using by the node's SMBIOS UUID (or hardware_id).
Ensures order in which the --hw_id (or -i) flag is included in on the CLI does not matter; the same
method is called whenever this field is included (and, similarly, an error is thrown if either this field
or a node UUID are not included in the CLI command)
Fixes an old, outdated comment in the code
Fixes a bug in how the 'field' flag is handled (it needed to be added to the list that could
appear either before or after the 'hw_id' flag in the calls to 'get_all_nodes')
Fixes issue where no arguments are passed in (previously, it threw
a spurious error in this scenario)
Added code to catch Runtime errors that might be thrown by the calls
to ipmitool/freeipmi (and return them as sensible errors to the caller)
Fixes a couple of copy-and-paste errors
Merge pull request #207 from tjmcs/tb/add-bmc-interface-to-node

Adds power control (and ability to retrieve power state) to node slice
fixes bug in error handling code from previous commit
Merge pull request #211 from tjmcs/master

Fixes bug in error handling code from previous pull request
Adding sorting to slice table output
Table sorting is added to the slice outputs and performs a case-insensitive sort for strings or numerical sort on fixnum.
The output for the images slice has been converted to a table format vice the item format to improve readability.

For each of the slices, sorting is configured as follows:
active_model    : node_uuid
broker          : name
broker template : plugin
image           : filename <- this is the iso filename
model           : label
model template  : name
node            : timestamp
policy          : line_number
policy template : template
tag             : name
Adding sorting for tag_matchers table output

Sorting is configured as follows:
tag matchers    : key
Corrects alignment of column header for colored results

Remove color codes when collecting the max length of a column item.
Clean up duplication of hash_array sorting code.