CHEF-4849: Implement `#response_file_variables` in Package resource

Now that Chef properly supports a package `response_file` using
`Chef::Resource::Template`, the Package resource should implement the
`response_file_variables` method so that variables do not have to exist
as node attributes (eg - for seeding DB passwords for configuration
files generated by packages).
[CHEF-4845] Fix typo in aix packager provider regexp

While it's not guaranteed without tests that this change will generate
the expected regular expression, it's certainly not worse than what
has been used so far. Moreover, this will silence the ruby warnings
about invalid regular expressions during chef-client runs.
remove unused variable startup_type
another assumption: load_current_resource always sets a priority

and now there's a test failure :-)
fix for when the service doesn't set priority
tests updated for services only starting at run level S
and a fix to handle services only starting at run level S
@current_resource.priority(80) moved to correct context
allow chef to be invoked with empty environment (env -i)
CHEF-2418 Prompt for password if flag specified but password is not
CHEF-2418 Added some comments describing prompt for password behavior
Fix typo in generated README when using knife to create cookbook
[CHEF-4784] Output formatter "doc" lacks information about handlers
allow dots in data bag names.  Chef server already seems to accept these when making direct API calls.
allow periods in databag names too
CHEF-3531: add tests for allowing dots in data bag names or ids
CHEF-4849: Use preseed-template-variables.seed

I believe this file was the intended preseed file to use for the response_file
tests instead of the existing preseed-template.seed which uses a different
variable.
Merge branch 'contributions'
Add support for loading a static list of plugin files.

If a file ~/.chef/plugin_manifest.json is present, knife will read a
list of plugins to load from that file rather than scanning all rubygems
for knife plugins, which can take a long time depending on hardware,
number of gems, rubygems version, ruby version, etc.

The format of the plugin_manifest.json file is:

```json
{ "plugins": {
    "knife-ec2": {
      "paths": [
        "/home/alice/.rubymanagerthing/gems/knife-ec2-x.y.z/lib/chef/knife/ec2_server_create.rb",
        "/home/alice/.rubymanagerthing/gems/knife-ec2-x.y.z/lib/chef/knife/ec2_server_delete.rb"
      ]
    }
  }
}
```

This leaves us opportunity in the future to modify the format in
accordance with any behavior changes in knife. For example, if knife
were modified to load commands on-demand, the format could be adapted to
support this (and cache help information so `knife -h` would run
quickly).

In the near-term this should be regarded as an experimental feature, and
users are on their own for managing the content of the file.
Merge branch 'plugin-manifest'

Fixes CHEF-4909