Workers will now retry (but not re-resolve) on some ExecuteFetch failures

@enisoc @alainjobart 

First pass at retrying for errors.  Wanted to get your thoughts on this approach - still need to add re-resolving, but I think it should be straight-forward with this approach.

Existing tests pass, but nothing is explicitly testing tablets temporarily going away. I'd like to add something to our test suite along those lines (maybe vtctl Pause/Resume commands, or maybe just easy ways for disabling and enabling queryservice).
I don't think there is any risk of starvation of that select case, so I don;t think you need to check it in the loop like this. I don't see a case where you'd be spammed on executeFetchErrs so much it'd prevent you from reading retryCtx.Done()?