Changed setup to completion & progress blocks

I changed the setup method to have one completion block that contains the host, port and error if there is one. I added a progress block that contains the progress `NSInteger` and summary.
Thanks for the PR @davidchiles , it looks good!
Only thing I would change before merging is the name of the typedef, just as @chrisballinger suggested