When using raw: URLs without a base_url, redirected_url was incorrectly
set to the entire raw HTML string (potentially 300KB+) instead of None.
Changes:
- async_crawler_strategy.py: Don't fall back to url for raw:/file:// URLs
in fast path, browser path, and HTTP strategy
- async_crawler_strategy.py: Skip page.url assignment for local content
(would return "about:blank")
- async_webcrawler.py: Don't fall back to url for raw: URLs in crawl
result and cached result paths
- Add comprehensive test suite for redirected_url handling