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.
- Added Telegram::$update_retention_time and Telegram::setUpdateRetentionTime to configure de-duplication TTL.
- Updated README.md with instructions.
- Default request timeout is set to 60 seconds.
- Duplicate updates are cached in Redis for 60 seconds (default) and return a fake success response.