Fixes Node @current_status not showing in API calls for Node Slice
Patch daemon to return proper exit code.

The daemon gem only return exit code 0 regardless of service state. This
change updates daemon to conform to LSB specification for returning exit
code 1 and exit code 3 when service is not running. This allows puppet
to query the service state using the status command.
Fixes for puppetlabs/Razor/pull/51

1. A WEB API call that returns a Slice Name error will no longer have CLI help printed
2. 'razor -h' and 'razor help' will no longer return error
3. Removed left over #print_header from #call_razor_slice
4. Added checks to be sure @namespace is valid now that the code can reach methods if it was Nil
5. If passed an invalid CLI option it no longer throws an error. It now lists the bad option and prints the proper options only.
6. If the No Color option is passed the help will not print in color for Slice Name errors
Add additional 1.8.7 Fixes for razor slices.

Fixes issues with 1.8.7 missing select!.
Cleanup commented code.
Fix indent and do block format.
Update validate_args.

*args will always be an array, so we just need to check each element.
Update get_web_vars

* Break out command_shift to allow stubbing.
* Use exception to handle JSON parse error.
* Simplify get_web_vargs and add spec testing.
Update get_cli_vars and get_noun

* Update get_cli_varsa and get_noun.
* Add spec tests.
Find subclasses more efficiently

Previous to this commit, each object in the runtime was iterated over in
order to find classes that were a subclass of a specific class.  For
example to find all subclasses of ProjectRazor::Slice, every object was
iterated over, converted to a string, the checked to see if it had the
prefix "ProjectRazor::Slice::".  This caused strange race conditions
when several requests would come in at once.

This commit introduces the Object#child_classes method. This allows it
to be called on any namespace and it will return an array of the child
classes.  For example, for the children of Project::Slice, simply
call ProjectRazor::Slice.child_classes.  This method is much more
efficient and resolves the race condition
Fix Object.get_const_full

Use ::Object instead of Object for Ruby 1.8.7.
Remove extlib gem dependencies.

Add extlib Object.get_const_full method and remove gem dependencies.
Update spec tests for 1.8.7.

In the spec tests we were using @key instead of key for the hash, and in
1.9 this was masked, but causes an issue in 1.8.7. This was an issue
with the spec and not the actual razor code.
Merge pull request #53 from lynxbat/master

Fixes Node @current_status not showing in API calls for Node Slice & Fixes for optparse changes
Merge pull request #54 from nanliu/tb/daemon

Patch daemon to return proper exit code.
Merge pull request #56 from nanliu/tb/ruby187

Add additional 1.8.7 Fixes for razor slices.
Merge pull request #57 from nanliu/tb/common

Razor util common class cleanup.
Fix ESX no broker handoff.

In the ESX model, if we don't specify handoff the system will boot into
mk after installation. This update fixes this issue and boot to local
disk after installation.
Merge pull request #58 from nanliu/tb/esx

Fix ESX no broker handoff.
Added Update actions to Policy Slice

Works for API and CLI