convert puts to use logger

rather than output messages to stdout directly, go through
the logger so that these statements can be hushed by turning
off logging.
subprocess output should go through the logger

Controlling where output is sent is necessary if you want to use fpm as
a library rather just a command line tool.

This is implemented using the open4 rubygem because the open3 that ships
with ruby 1.8.7's stdlib doesn't set $? so you can't get the exit
status of the process.

The negative side effect of this change is that it introduces buffering,
so you don't get stderr and stdout in the order in which they were
output.  And the output isn't sent to the terminal until the process has
completed, which is annoying.  Perhaps it's possible to do something
with threads to solve this problem.
Merge branch 'master' of git://github.com/jordansissel/fpm into sshhh
use structured logging for python package
Merge branch 'master' of git://github.com/jordansissel/fpm into sshhh
updated CHANGELIST to include logging changes
Merge pull request #330 from jaybuff/sshhh

Make all fpm output go through the logger