Update gather-logs and migration scripts to honor postsgresql['username']

Cherry-picked two commits from 11-1-stable branch for migrations and fixed two migratosr added since then (014 and 016) to use the configured postgres_unix_user.

Added a recipe to create a defaults shell at /etc/opscode/private-chef.sh for gather-logs and other scripts. Updated gather-logs to use that file, if it's there.

The opscode-pgsql string is still hardcoded at
  https://github.com/opscode/oc_authz_migrator/blob/master/scripts/opc-run.sh#L50 
so I'll patch that to use /etc/opscode/private-chef.sh also.
@mmzyk There are two cases in which this could fail:

1. We've configure postgresql to listen on a different local socket.  Most users don't do this, but it is possible.

2. Postgresql isn't running.

Since the general goal of this script is to collect whatever we can for support but not present confusing errors to the user, we went for a test that covered (2) easily.  If we can do something smart that would account for (1) that would be cool, but my sense is that this is OK for now.