* Refactored client creation tests and their dependencies to avoid
errors related to context re-creation.
* Added method to ChefAsyncClient to get the contents of a resource
(like a file in a cookbook) sending the authentication headers.
* Refactored chef-core live tests dependencies to avoid unnecessary test
skips.
* Added bouncycastle dependency in test scope to allow reading the
private key files.
* Fixed the client name field in the json sent to update a client.
* Added the uploadContent method to the ChefAsyncClient in order to
add the authentication headers to the upload contents to a sandbox
request.
* Disabled parallel integration test execution to avoid concurrent
creation of the same node.
* Fixed @Credential binding to bind the contents of the PEM file instead
of the path.
* Fixed validation identity and credential property loading.
* TestOhaiModule did not use the overriden provider method. Changed
strategy live tests to check against the current user as set by the
CurrentUserProvider.
This method creates a client with the 'admin' flag set, in an open source
Chef Server.
This does not work in Hosted Chef, since Opscode Platform
security design uses a different approach. By default a client is only
allowed to manage the node it's associated with, and setting this flag
in the POST or PUT request has no effect on the client permissions.
Metadata fields 'dependencies', 'conflicting', 'providing', 'platforms' and 'replacing' are
simple Map<String, String>, where the value is a version constraint like '>= 0.0.0', but not
a Json array.
See https://github.com/opscode/chef/blob/master/chef/lib/chef/cookbook/metadata.rb for more
details about Metadata format.