refactor: type the docker push stream
Add `DockerPushLogItem` beside `DockerBuildLogItem` so the push and pull streams
are typed rather than `dict[str, Any]`, and widen the progress map key to
`Optional[str]` to match what the stream actually carries.
Cover the pull path, which shares the parser with the header suppressed.