Add timeout to potentially blocking getfilename API call.

Use `http.Client.Timeout`.

I've been testing this code path for the last month, and it works well. No issues with UI blocking.