Added unit test for ApiClient.load()

This is failing as it doesn't properly load all fields from the JSON
response
Delegate ApiClient.load to ApiClient.json_create

This means the validator/public_key/admin fields of the ApiClient
object now get set properly
Add --validator option to create validator client via knife

Also update tests to check the defaults for admin/validator
Add a --force option to protect against accidental deletion of validators

It's hard to recover an org from having a deleted validator client -
this patch protects against deleting validator accidentally e.g. in a
for loop around knife client delete by requiring you to specify --force

Includes specs around this new functionality
Add an note about addtional bootstrap templates being deprecated
Modernize recipe specs
Describe resource cloning behaviors in recipe specs.

Includes two regression tests for CHEF-5052, marked pending until the
fix for that issue is merged.
Move method call to resource.load_prior_resource to fix CHEF-5052 resource merge issues
Enable CHEF-5052 regression tests.
Merge branch 'CHEF-5052-plus-tests'

Fixes https://tickets.opscode.com/browse/CHEF-5052
Remove default implementation of Recipe DSL interface

Depending on the inheritance tree, the default implementations could
incorrectly be preferred to the real ones.
Implement required interface for Recipe DSL in Provider
Merge branch 'CHEF-5048'

fixes https://tickets.opscode.com/browse/CHEF-5048
Correctly order setup of reporting state in registry specs
Merge pull request #1274 from opscode/btm/bootstrap_deprecation_note

Add an note about addtional bootstrap templates being deprecated
Modernize and organize Chef::Client specs
Add permanent run list modification option to Chef::Client
Add `-r` flag to chef-client
Merge branch 'CHEF-5032'

Resolves https://tickets.opscode.com/browse/CHEF-5032
Merge pull request #1272 from opscode/jc/OC-130/knife-delete-validator

Add a --force option to protect against accidental deletion of validators