[CHEF-3497] Fix knife configure order, apply any relevant Chef::Config[:knife] settings

This takes advantage of changes in mixlib-cli to keep default and user-supplied config values separate so that knife can automatically setup the `config` Hash by merging (in this order):

1. mixlib-cli defaults
2. `Chef::Config[:knife]`
3. user-supplied cli options

This makes it drastically easier for knife plugins to "do the right thing" when it comes to setting options. Knife plugin authors should now:

1. set the default value via the mixlib-cli DSL
2. Fetch configurable values from the `config` Hash.

# NOTE:
Before this can be merged, the new version of mixlib-cli needs to be released (currently available as an RC). To test, install the new version and run tests w/o bundler, or update your Gemfile locally.