Roles, environments, and dependency selection

Uses Chef::Role and Chef::Environment classes for loading and validating. Uses DepSelector via Chef::CookbookVersionSelector for dependency resolution when extracting local.