Add typing to `Pool.acquire`
Now that https://github.com/MagicStack/asyncpg/pull/1197 landed I could take the patch I suggested in https://github.com/MagicStack/asyncpg/pull/578 and add some more minor changes.
Therefore, this closes https://github.com/MagicStack/asyncpg/pull/578 and closes https://github.com/MagicStack/asyncpg/pull/521
In the long run, this will probably cause issues. Proxies can't really be expressed that well on the type level, so we will probably get a lot of "Unknown attribute" errors on everything that is using whatever comes out of acquire().
However, I would personally advise not to worry about this too much. Let's first add typing to those places where we know it will work in incremental steps and consider larger issues when we have some more experience with adding the types.
We'll likely also run into issues identified in https://github.com/MagicStack/asyncpg/pull/577 but as long as we don't add any typing that is incorrect this can still be solved.
There is (obviously) one behaviour change with the assert, but as I read the code (and tests) I don't think that should be an actual change in behaviour.
@elprans Could you retrigger the CI so this can get merged? The failure is a flake and I don't have retriggering rights.
@elprans: ping