Jsonrpc: rework fix for bug#60088
Try to decouple receiving text and processing messages in the event
loop. This should allow for requests within requests in both Eglot
and the Dape extension (https://github.com/svaante/dape).
jsonrpc-connection-receive is now called from timers after the process
filter finished. Because of this, a detail is that any serialization
errors are now thrown from timers instead of the synchronous process
filter, and there's no good way to test this in ert, so a test has
been deleted.
* lisp/jsonrpc.el (jsonrpc--process-filter): Rework.
* test/lisp/jsonrpc-tests.el (json-el-cant-serialize-this): Delete test.
(cherry picked from commit
60473c4d90a6cdce3f06e183809f5be440dd8797)