Improve bin calls
All binary calls now go through a dedicated run function, which will do the appropriate logging:
def run(cmd, desc=None, env=os.environ)
desc is an optionnal string that is logged to INFO output to give a human readable description of the step corresponding to the call. Note that I did not update all calls to run() with a proper desc, this is mostly for future.
Feel free to comment on the choices I made (what goes where in logs ...)
Also, does the run method need to abort everything upon non-zero return code ? This can be added if needed.