Fix pb with "Average Time By Frame"

Value is stored in milliseconds and was interpreted as seconds.
Change logger in commandwatcher

CommandWatcher has a new logger 'puli.runner' in addition to 'puli.comandwatcher'
This logger is added as a member of the CommandRunner during init of the command.
Therefore users can use it to log info instead of printing to stdout
Finish autoretry on jobs

"maxAttempt" value stored on Task is taken into account when a command returns an ERROR
An integer "attempt" is updated accordingly on each command
A webservice is created to update (recusively) a node and it's associated task.