CHEF-3307:  translate empty strings coming back from the server to nil
Merge pull request #812 from opscode/lcg/CHEF-3307-empty-string-fix

CHEF-3307: metadata.name can be empty, which is truthy
remove log level special casing from git resource

live stream is no longer enabled by default in mixin/shellout, so the
special casing is now increasing noise and very annoying in tests.
fixes for 'rake install' on ruby-2.0.0
Merge pull request #818 from opscode/lcg/ruby-2.0.0-rake-install

fixes for 'rake install' on ruby-2.0.0
Fix knife upload tests on Ruby 1.8.7
attempt redeploy of failed deployment

`deploy_revision` provider now stores releases in the release history
cache only after a successful deploy. As a result, a partially deployed
application will be overwritten by a subsequent deploy to the same
revision (similar to force_deploy).

Fixes CHEF-2741
remove trailing whitespace and fix indentation
Set log level to reduce test noise
Merge branch 'CHEF-2741'
start testing with travis
git config default users for travis
Fix rubygems > 2.0 heuristic test

Fixes CHEF-4275

In some cases, upgrading to rubygems 2.0 from 1.8 can leave both
installations available in the load path. The 2.0 install is ahead of
the 1.8 install, but it is possible to load a file from the 1.8 install
if that file does not exist in rubygems 2.0. In particular,
rubygems/format does not exist in 2.0, so `require "rubygems/format"`
loads from rubygems 1.8.

When Chef "accidentally" loads the old rubygems/format, it defeats the
version detection heuristic (check if Gem::Format) is defined, which
eventually causes an error calling Gem::Package.open. Adding a check to
see if Gem::Package defines open resolves this problem.