Have Python mode cooperate asynchronously with Eldoc

When combined with Flymake mode, which also adds a value to
eldoc-documentation-functions, Python-mode users can now experiment
with different eldoc-documentation-strategy values.

Also, this shoulda allow us to write automatic tests for this
particular Eldoc functionality.

* lisp/progmodes/python.el (inferior-python-mode): Set
coming-preoutput-filter-functions.
(python--shell-output-filter-in-progress)
(python--shell-output-filter-buffer): Rename from python- variant.
(python-shell-output-filter): Rework to support async operation.
(python-eldoc--get-doc-at-point): Rework to support async.
(python-eldoc-function): Use callback.
2 jobs for scratch/python-eldoc-async in 41 minutes and 37 seconds (queued for 2 seconds)
latest
Status Job ID Name Coverage
  Test
failed #6571
test-all

00:00:01

passed #6572
test-filenotify-gio

00:41:36

 
Name Stage Failure
failed
test-all Test There has been a runner system failure, please try again
Running with gitlab-runner 12.0.2 (d0b76032)
on emba-docker-runner 2oEDrUT7
Using Docker executor with image debian:stretch ...
Pulling docker image debian:stretch ...
Using docker image sha256:5738956efb6b994ba2552e96100cc6a6d8a1f0c7dea402bddd54c5cf6f6871f8 for debian:stretch ...
ERROR: Job failed (system failure): Error response from daemon: Conflict. The container name "/runner-2oEDrUT7-project-1-concurrent-0-predefined-0" is already in use by container "7e4bcf97fae377f61c46f366776669a845ce0f3a6d6186be720e75d8d2d61e22". You have to remove (or rename) that container to be able to reuse that name. (executor_docker.go:726:0s)