feat: Add request timeout and Redis duplicate update prevention
- Added Request::$timeout and Request::setClientTimeout to control Guzzle client timeout.
- Added Redis update de-duplication in Telegram::processUpdate.
- Added Telegram::setRedis for injecting Redis instance.
- Default request timeout is set to 60 seconds.
- Duplicate updates are cached in Redis for 60 seconds and return a fake success response.