modern RSpec update for encrypted_data_bag_item_spec

* prefer `subject` and `let` blocks to instance variables and before
  blocks
* `eq` instead of `==`
* remove the 'shoulds' from example descriptions
prefer `File.exist?` to `File.exists?`

File.exists? was deprecated in Ruby 1.9
[CHEF-4011] move default secret file path to Chef::Config

* Remove references to DEFAULT_SECRET_FILE from
`Chef::EncryptedDataBagItem`.
* Add new `:encrypted_data_bag_secret` value to `Chef::Config`
* Ensure Chef::Config[:encrypted_data_bag_secret] is nil if the secret
  does not exist at the default path.
* Updated test coverage in `config_spec` and
  `encrypted_data_bag_item_spec`.
[CHEF-4011] `--secret` and `--secret-file` options for `knife bootstrap`

This commit adds new CLI options to `knife bootstrap` for specifying
encrypted data bag secret key (actual string or file) at node bootstrap
time. This approach is more explicit than the previous approach of
reading the path to the secret key from the `encrypted_data_bag_secret`
value in the knife.rb file. For backward compatibility we will still
attempt to load a key from Chef::Config[:encrypted_data_bag_secret].
[CHEF-4011] update bootstrap templates to read secret from context
[CHEF-4011] add secret in knife.rb deprecation warning

This warning should only be displayed if a user has an
'encrypted_data_bag_secret' entry in their knife.rb file.
[CHEF-4011] s/Version1Decryptor/Version0Decryptor/

This properly matches the code in `Chef::EncryptedDataBagItem`:

* Version0Decryptor == legacy YAML-based format
* Version1Decryptor == preferred JSON-based format
Fix trailing whitespace. >_<