CHEF-3364 Fix up Smartos Package provider. Copied from https://github.com/benr/chef/tree/19c83ab362dab4931b50b7dbe322b0e44b4e64e3
CHEF-3364 Fix up expected strings.
CHEF-4065: change chef-client config default to use client_fork
make options negatable
[CHEF-3919] Added support for setting ">", "<", "<=" ... versions in Chef::Platform
[CHEF-3919] Chef::Platform test added for "greater than" comparators
[CHEF-3919] Some broken test fixed
[CHEF-3919] platform_spec s/comparator/operator/
[CHEF-3919] rescue from an InvalidCookbookVersion exception inside Chef::Platform when platform version cannot be parsed properly
[CHEF-3919] existing platform version conditionals updated to use "greater than"
[CHEF-3919] platform parsing error message outputs the problematic version for debugging
[CHEF-3919] cookbook version specific code factored out from Chef::Version, new classes created: Chef::Version::Cookbook and Chef::VersionConstraint::Cookbook
[CHEF-3919] tests added for Chef::Version::Cookbook class
[CHEF-3919] tests added for Chef::VersionConstraint::Cookbook class
[CHEF-3919] Removed Chef::Version::Cookbook code and replaced by a Chef::Version::Platform class, reverting Chef::Version class changes
[CHEF-3919] "~> 1" pessimistic version constraint parsing fixed in VersionConstraint class.
[CHEF-3932] Support multiple calls of `Knife.deps`

If a Knife subcommand class were inheriting or including other classes
with lazy loading dependencies, a later call to `Knife.deps` overwrote
the earlier block. Fix it by collecting the blocks to an array.
[CHEF-3932] Add unit tests for Knife's lazy dependency loading
CHEF-4010 Ensure lock release for all operations
CHEF-4010: Test to ensure we release the run_lock if we fail in #load_node