@ivey it's not that big of a pain to change. I'm not sure I see the value in making an instance though. I'd like this to behave much like Ruby's `system` command, but better. I don't see us using ENV variables or settings anywhere in Berkshelf, so I didn't really think it's a use case. We can evolve the code as the features arise. 

I personally don't like the semantics of shell_out. I want to shell_out, not create a command and run it - that's a command runner, not a shell executor.

@rest @justincampbell I moved everything back to modules. I think the path stuff can stay around until we can move to non-mixlib/config, at which point it can become a method on that mixin specifically, since I don't see a use for it elsewhere in the codebase.