Spike out Henson::APIClient
Merge branch 'master' of https://github.com/wfarr/henson into extract-api-client

Conflicts:
	lib/henson.rb
Add tomdocs to Henson
Temporarily extract existing FakeWeb dependent specs out and comment them out
Merge branch 'master' of https://github.com/wfarr/henson into extract-api-client
Add Henson::API::ClientCache
Add Henson::API::Client, remove Henson::APIClient
Remove Henson::APIClient spec
Make Henson::API::Client@connection attr_readable
Fix incorrect call to Faraday::Request#url=
Use Faraday::Response#status instead of Faraday::Response#code
Add Henson::APIError as a superclass for all API errors
Fix Henson::DSL::Puppetfile specs

Previously, even if the value of an option given to an API client was
nil, we were inserting it into the request options. This fixes the
behavior to only include POST body params or URL params in cases where
the value of a given key is not nil.
Start fixing specs
Clean up library requirements
Partially fix GitHubTarball specs
Remove example from GitHubTarball spec
Add more spec coverage to Henson::API::Client
Remove PUT/POST support from Henson::API::Client as we aren't using it
Improve code coverage of Henson::API::GitHubClient