Dramatically simplify `read-entity/transfer-decoding-port`.

It doesn't need to use `make-custom-input-port`. As for the chunked
transfer encoding case, it can use `make-pipe` so we can write an
`un-chunk` function as the very simple thing is actually is.

Doing so avoids the bugs with blocking in a custon input port that
commit 80dfda8e sought to fix.