fix(gitea): align fetch timeout, label api bodies, and webhook events
- Read response body before clearing the gitea fetch timer so slow streams
stay abortable; map timeout aborts to 408 after body handling
- Send { labels } JSON for issue label POST/PUT per Gitea API
- Return applied/before/after from updateTaskStatus for event publishing
- Publish task.status_changed after Gitea label/reopen/close status sync
- Per-integration try/catch in issue_labeled; richer reopen error context
- Share outbound echo helpers; replace issue_closed createdFrom skip with
lastOutboundStateSyncAt window