Add caching and adjust PUBLIC_URL/auth client logic
Add per-endpoint Cache for scrobbles and now-playing handlers (capacity
100, TTL 30s). Lookups use retrieve->presentation with retry(3) and 10s
timeout.
Set env.PUBLIC_URL default to http://localhost:8000 and update the auth
client URL/client_id selection to prefer a real public URL unless it
points to localhost.