Fixed s3 to s3 sync url decoding pagniation bug.

Keys were not getting url decoded properly with pagination.
If one bucket exited ListObjects pagination before
the other bucket, it caused the handler that decodes the keys
to prematurely exit as well. This resulted in some keys not
getting url decoded.

cc @jamesls @danielgtaylor 
I felt that the test that I added encompasses the non-paginated case since we always use a ``paginate`` call when listing the objects in a bucket.  The main benefit in keeping the test is that it adds more granularity such that we would know if it is the first paged that is not url decoded or the pages after it.  The reason I took it out in the first place is that it saves time in running the test.  I estimated the test takes around 20 seconds.  So I figured since the logic was the same, we could save some time/reduce redundancy.