Gracefully fail when `encrypted_data_bag_secret` is not set

This commit also introduces the ability to pass a custom secret key to the
encrypted_data_bag methods.
Add `require_chef_gem` to safely require a gem
Use the version file in the Chef cookbook
Update copyright year
Add attribute `namespace` sugar

This commit adds sugar to the attribute DSL (which is actually just the node)
for dynamically creating nested attributes without the Ruby hash syntax.

    namespace 'apache2' do
      namespace 'config' do
        root '/var/www'
      end
    end
Fix formatting issue in README markdown
Ignore generated documentation
Add support for fuzzy version matching

This commit permits users to wrap version strings and easily compare them:

    version('1.2.3').satisfies?('~> 1.2.0')
Add `Node#deep_fetch` for fetching nested attributes
Use heredocs for errors (80-character limit)
Nest spec files in the proper directory
Remove Test Kitchen
Add Stove for releasing
Bump to beta version for testing