When running fetch with become, the slurp module will also
be used to fetch the contents of the file for determining
the remote checksum. This effectively doubles the transfer
size  and shows up as a MemoryError when the file size
is large enough.
In TripleO this is problematic in large & old deployments
when transferring the /var/lib/mysql folder.
This patch switches to using rsync directly between the src
and dst hosts to transfer the data. This is advantageous not
only for solving the above-mentioned bug, but is also faster.
A simpler implementation using synchronize was attempted ,
but there were issues with the mistral container which
prevented that approach from being successful.
(cherry picked from commit