Remove 'fold' from barn-agent loop.

The fold makes the code safer but I think it is at the cost of
the code being readable for someone new to the project. I've
removed it to hopefully make the steps easier to see.

This change also ensures that barn-agent doesn't failover when it's got a
'flacky' connection i.e. where it's managing to ship some files out of the
entire list. In production barn-agent can often end up running like this.

@omidaladini @johnglover 
Will move to be with metrics. Not sure it's a constructor though as it's choosing between service implementations.