Chef 12 bootstrap cleanup

* Cleans up deprecations for Chef 12
* Implements the encryted data bag secret distribution based on [this](https://gist.github.com/sersut/94c8daad5c11369bd2e8) 
* Simplifies the bootstrap CLI options slightly.

@opscode/client-engineers wanted to share this before increasing the spec coverage around these options. 

Remaining work:

* [x] Moar specs.
* [ ] End to End bootstrap testing
* [ ] CHANGELOG and RELEASE_NOTES updates.
Originally I had that but run into a small issue when no option is specified:

```
knife = Chef::Knife::Bootstrap.new
knife.merge_configs
knife.config
=> {:ssh_user=>"root", :run_list=>[], :first_boot_attributes=>{}, :host_key_verify=>true}

Chef::Config[:knife][:bootstrap_template]
=> "chef-full"
knife.merge_configs
knife.config
=> {:ssh_user=>"root", :run_list=>[], :first_boot_attributes=>{}, :host_key_verify=>true, :bootstrap_template=>"chef-full"}
```

The default value of `Chef::Config[:knife][:bootstrap_template]` is not picked up unless you force load it before `knife.merge_configs` so I've added `Chef::Config[:knife][:bootstrap_template]` here. 

Now that I think one other way to workaround would be to give a default value of `chef-full` to the `:bootstrap_template` option.