Get a signed URL for file download.
Returns a time-limited URL that can be used to download the file without authentication. The URL expires after 15 minutes.
Returns: SignedUrlResponse with signed URL and expiration time.
Raises: HTTPException: 404 if file not found.