Add chef_environment to chef-client provisioner

chef_environment is a commonly used config option for Chef. I feel it should be included within the primary Packer config json. This PR adds that functionality and associated tests. note: 98% of the code was simply copied over from the chef-solo provisioner.