Refactor razor CLI command.

Change CLI to a class and add spec testing.
Update exception to make sure no output for web.

* Update comment regarding color.
Update cli to support hidden slices.

Previously hidden slices were completely suppressed. In testing, we only
want to suppress hidden slices from help, and still need to be able to
invoke them.
Merge pull request #127 from lynxbat/master

Fixes broken range requests for Centos/RHEL based distros
Updated preseed config so that warnings will not be thrown if old LVM config exists on disk
Merge pull request #128 from mikepatterson/master

Updated Preseed Configs for Precise and Oneiric
Merge pull request #72 from nanliu/tb/cli

Refactor razor CLI command.
Fixes #130 and a couple of other (unreported) issues that resulted from recent changes to the way that the Razor configuration is obtained by the RazorDaemon class defined within this script.  Previously, this class accessed the configuration directly (as an object), but changes that were made to the razor_daemon.rb script to fix a log rotation error (Pull Request #117) meant that the configuration was now returned through the Razor web API (which means that the keys in the resulting hash are all prefixed with an "@" sign). As a result, the previous code (which used a line like "node_expire_timeout = razor_config['node_expire_timeout']" to obtain the "timeout" value to use for node expiration) no longer returned the desired value from the Razor configuration.  Instead, a line like "node_expire_timeout = razor_config['@node_expire_timeout']" had to be used to obtain this same value.  This commit makes all of the appropriate changes to the razor_daemon.rb script to resolve issues from this recent change to how the Razor configuration values are returned to the razor_daemon.rb script from its RazorDaemon class. This also fixes an undiscovered issue with retrieving the daemon minimum cycle time (how long the daemon waits between cycles of it's event handling loop) from the Razor configuration as well as an undiscovered issue with how the persistence host/port are reported as part of the error that is printed when the database connection fails.
Merge pull request #133 from tjmcs/tb/fix_daemon_expire_timeout

Fixes #130 and a couple of other (unreported) issues
Merge remote-tracking branch 'upstream/master'
Fixes issue with non-persistent hostname in the Ubuntu Precise model (per virtualswede's request in issue #119)
Fixes issue with non-persistent hostname in the remaining models that use this same construct in their os_boot.erb file (per ChrisLundquist's comment to the merge request already submitted as issue #122)
Fixes broken range requests for Centos/RHEL based distros
Updated preseed config so that warnings will not be thrown if old LVM config exists on disk
Fixes #130 and a couple of other (unreported) issues that resulted from recent changes to the way that the Razor configuration is obtained by the RazorDaemon class defined within this script.  Previously, this class accessed the configuration directly (as an object), but changes that were made to the razor_daemon.rb script to fix a log rotation error (Pull Request #117) meant that the configuration was now returned through the Razor web API (which means that the keys in the resulting hash are all prefixed with an "@" sign). As a result, the previous code (which used a line like "node_expire_timeout = razor_config['node_expire_timeout']" to obtain the "timeout" value to use for node expiration) no longer returned the desired value from the Razor configuration.  Instead, a line like "node_expire_timeout = razor_config['@node_expire_timeout']" had to be used to obtain this same value.  This commit makes all of the appropriate changes to the razor_daemon.rb script to resolve issues from this recent change to how the Razor configuration values are returned to the razor_daemon.rb script from its RazorDaemon class. This also fixes an undiscovered issue with retrieving the daemon minimum cycle time (how long the daemon waits between cycles of it's event handling loop) from the Razor configuration as well as an undiscovered issue with how the persistence host/port are reported as part of the error that is printed when the database connection fails.
Merge remote-tracking branch 'upstream/master'