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.
Because I'm not sure know, what is this conditional doing? As far as I can divine, this is testing for the existence of /tmp/.s.PGSQL.5432 as a socket - is this a socket that we know postgres will open in that location? There's no else around this if the conditional fails, so I'm assuming if the socket isn't open then it's okay, although the old code had no conditional around it, it just ran all the time.