Updated with some more debug logging if you manually turn debug on
May have introduced a regression in verify, checking it out now
So earlier tests were contaminating later tests. Kinda gross.
return pid from chef-client run
replace Chef::Resource::ContainerService with a monkeypatch of Chef::Resource::Service. This should resolve the issues we were seeing in testing.
use fixture cookbooks instead of creating files inline; honor the exit code of chef-client when running chef-init --bootstrap
Added runcontext to 'new' call so it passing the resource correctly, also create default service root dir if it doesn't already exist
fix tests by adding test double for chef-client process object
Updated spec with test for creating service dir
Fixed data directory and cp_r wonkiness
add builtin test service; move data outside of spec
add ability to test using Docker

Instead of having to constantly be pushing code to github and rebuilding in ominbus chef, this code allows you to build and test the gems locally using Docker.
change how we handle exits

use true/false instead of ints for exit codes; use HUP all the time with RUNIT otherwise the runsv stuff will be left alive
shift around some helper code

shift around some code to make it more usable/readable
bump version to 0.3.0.dev
adjust rakefile to show all docker logs

There was something weird with `docker run.` It was only showing the first 10 lines of the log output. This is a simple refactor to just launch the container detached and tail the logs.
add path to data directory in gem
lots of changes to get runti working properly

This is quite a commit. There is a lot of stuff going on in here.

First, both subprocesses (chef-client and runit) are now launched simply as an exec inside a fork. There was some weirdness with Process.spawn using a subshell which was giving me back the wrong child pid so I couldn't accurately reap it. The Open3 library also seemed like overkill upon further inspection since I was using it primarily to stream the logs to stdout but I realized that running it in exec would accomplish the same thing.

Next, I reworked how I kill all the processes. There was some confusion around what <defunct> processes are but I feel like I've got those all taken care of. chef-init will now reliably and safely kill all the subprocesses.

Once I did that, I was able to write clear verify tests that will work as expected. I also now check to make sure that processes are cleaned up after every run.

The last thing I did was update the spec tests for style, formatting and with some of the changes I made to cli.rb and verify.rb
set version to 0.3.0
Merge branch 'shain/verify'