Render dry-run change list in real-time

Previously, the change list was rendered after the rsync process had
exited. This was fine for small change sets, but could result in a
lengthy hang with no output for larger changes.

Notable:

* Updated Symfony process component to 2.3: there was a bug in 2.2
  where process output would be lost if the callback passed to
  Process::start() took any measurable period of time.

  See: https://github.com/symfony/symfony/issues/8970
Fix progress bar counting incorrectly for Rsync

The progress bar was being triggered by callbacks from Process which contained multiple lines
of output from rsync, each line representing a file. This meant the progress bar was wrong, and
ended prematurely on fast connections.

I'm aware the filename displayed is one off currently.