fetch_articleFetch a news article by URL and return structured data.
Args:
url: The URL of the news article.
Returns:
A dict with keys: title, text, author, date.
Raises:
ValueError: If URL is invalid or article cannot be parsed.
requests.RequestException: If HTTP request fails.