First round of changes to implement the new-style Slice API; with this set of changes the "node get ..." commands all work with the proposed new-style Slice API (for both the CLI and RESTful API).  Still need to make changes to the other subcommands in this slice (the register and checkin commands), along with whatever code invokes those subcommands, but we are on our way to our first working slice using this new-style Slice API :)
Removed code from the ProjectRazor::Slice::Base class that was used to create, maintain, and setup slice commands using a slice-specific 'commands.yaml' file (this was too confusing).  As we move forward with the slice API refactoring, we'll be replacing this method for setting the slice command options (an early and somewhat confusing attempt) with functionality that uses the sub-command-specific 'option_items.yaml' file instead.
Merge branch 'master' of github.com:puppetlabs/Razor into tb/update_slice_cli
Refactoring of node slice to put code that will likely be in common when parsing options to other slice subcommands into the ProjectRazor::SliceUtil::Common class.  Also restored the load_option_items method in this class (which was erroneously removed in a previous commit on this branch)
A bit more refactoring to consolidate the code that will likely be common from slice to slice into the ProjectRazor::SliceUtil::Common class (instead of copying and pasting it over and over between slices)
Changes to refactor the BMC slice command (so that it uses the new style) and a few small edits to make the Node and BMC slice command usage consistent
Refactored the active_model and broker slices to use the new-style API (for both the CLI and the RESTful API).  Also added help functions to all of the slices that have been updated so far (so that a '--help' or '-h' after the slice name will produce help output for CLI-based users)
Small cleanup for help function we just added (to clean up a couple of copy-and-paste errors)
Small cleanup for help function we just added (to clean up a typo in the help output)
Changes to convert the model slice to the new-style API (for both the CLI and RESTful API).  Also fixed a bug in how the "update" of the meta-data associated with a model was done (previously this was throwing an error because the fields are specified by symbols in new models and by strings when being updated).  Finally, changed the "remove all" method in the active_model and broker slices so that the name read better (and was consistent with the same method in other slices).
Changes to the policy slice so that it now uses the new-style API (for both its CLI and its RESTful API).  Also continued process of cleaning up copy-and-paste errors (mostly in comments and fixed strings used in the code for help).
Changes to the tag slice so that it now uses the new-style API (for both its CLI and its RESTful API).  Also continued process of cleaning up copy-and-paste errors (mostly the YAML files used to define the options to the various slice subcommands).
Changing the node slice again to match the revised "new-style" CLI.  Now uses an additional resource name (that follows the UUID value) to obtain resources that are contained within the node (like the attributes hash and hardware_id values) instead of using optparse-style strings to get these resources.  If this change meets with approval, will carry it across to the "get" and "remove" methods in the other slices (for handling "options" to these operations like "all" and "template")
Refactored the node slice once more, this time to remove the 'handle_get_with_uuid' and it's awkward handling of the arguments passed into the 'get' slice subcommand.  Have moved this functionality back into the @slice_commands hash map where it belongs.
A couple of quick bug fixes to our refactored code (now need to get the arguments to the function from the @prev_args instead of the @command_array (because the values have already been parsed by the time the method is invoked if we place the responsibility for parsing back in Razor's hands by moving the decision making to the @slice_commands map).  Also added a ":default" action to the ":get -> /^[\S]+$/" branch of this map (needed to handle the 'razor node UUID' style command when invoked from the command line).
Added code to correctly handle an unrecognized resource that is encountered when parsing the slice command (from either the RESTful interface or the CLI).  Previously, the slice handled this by ignoring it (and parsing it as a "get_node_with_uuid" invocation), but now the slice throws an error (indicating that an unrecognized resource was found in the command).
Changes made to node and tag slices to bring them into line with the revised "new-style API" guidelines (mainly involves removing unnecessary/inappropriate use of optparse-style strings for actions like "get" and "remove").  While we were modifying the codebase again, took the opportunity to perform some further code consolidation (moving construction of "baseline" @slice_commands map value to the ProjectRazor::SliceUtil::Common class, for example) and to do a bit more code cleanup (removing extra YAML files for the tag "get" and "remove" subcommands, since they are no longer needed).  Finally, updated the rspec tests for the node slice to use the new-style API (replaced the passing of a UUID value in one of the URIs as a query string parameter to the node resource with passing that same value as UUID at the end of the URI).
Changes to the YAML files and tag slice to make names used for the tag options consistent with those used in the RSPEC test script.  Still one test failing, but it is because our default "get" operation currently does not support a query string to return a filtered set of values.  Have to discuss this one with Nick.
Fix in node slice so that all of the RSPEC tests pass
A few small fixes to node and tag slices (and the YAML file for the tag/matcher/add call) that ensure that the RSPEC tests pass and that the functionality works as it should through both the RESTful API and the CLI