Attempt to provide better error messages for busted python environments.

This aims to help with #644 where we cannot get python package metadata
without having json and setuptools available from the python program
we are invoking.
Fix error checking for python json & pkg_resources

I forgot safesystem() raises an exception when it fails.

Now, if users have a python that is missing a feature we need in order
to have fpm build a package, you'll get an error like this:

      Your python environment is missing json support (either json or simplejson python module). I cannot continue without this.  {:error=>#<FPM::Util::ProcessFailed: /bin/bash failed (exit code 1).  Full command was:["/bin/bash", "-c", "/opt/my-py24/bin/python -c 'import simplejson'"]>, :python=>"/opt/my-py24/bin/python", :level=>:error}
      Process failed: Python (/opt/my-py24/bin/python) is missing simplejson or json modules. {:level=>:error}

This is for #664
Check for both simplejson and json at the same time.

This avoids accidentally failing simply because 'simplejson' isn't
available (but 'json' might be, but we aborted too early)

This fixes tests broken by the previous commit.
- Update changelog for next release.
Don't require full output of a deb package if we're just checking for
tar flags.

The reason for this is that if we do output, it fails like so;

  1) FPM::Package::Deb#tar_flags should set the group for the package's data files
     Failure/Error: @package.output(@target)
     FPM::Util::ProcessFailed:
       tar failed (exit code 2). Full command was:["tar", "-C", "/tmp/package-deb-staging20140423-5427-10uiv96", "-z", "--numeric-owner", "--owner", "0", "--group", "nogroup", "-cf", "/tmp/package-deb-build20140423-5427-19uvbmw/data.tar.gz", "."]

Because 'nogroup' isn't a valid group when tar is run, but we want to check
that 'nogroup' is set in the tar args, not that tar works ;)