Removing scalaz/threading from multipart download

As a side note, it would be really nice if the tick function took the size i.e. `val o = client.getObject(z); val size = o.getSize; val content = o.getObjectContent` (i think). It would let us do proper progress in the MR job and also have a counter to validate file sizes against. Would be good to either do it as a part of this PR or just raise an issue to do it at some point.