Fix testSynclet when there's no return data

It was assuming the presence of `data` in the synclet's return value, but that's
not always there.

The script now also prints out the details of any exceptions that occur, because
that's a little useful.
Fix infinite requeue of shutterfly photos

Now if the albums synclet never succeeds (maybe thanks to bad auth), we won't
immediately reenqueue the photos synclet forever. After three tries (30 seconds
in a clear queue), it'll treat the lack of albums as an error and back off
appropriately.
Make testSynclet handle no data returned

Thought we would have caught this earlier, but sometimes when there's no data at
all returned from the synclet, this would bail.