Add timeout to sync requests

Sync requests are useful only for short running computations.
If no response is received in a few seconds it's a pretty safe bet
something blew up and the request is unlikely to ever yield a result
(freezing Emacs in the process).