Progress callback function and chunk size support

A progress callback function can be provided to the SwiftService
upload and download methods. Function will be called with
(transfered_size, total_size) arguments at given chunk size read.
Parameters are named chunk_size and progress_cb.