security: add SSRF protection for URL fetching
Use doyensec/safeurl library to prevent server-side request forgery
when fetching URL previews. This blocks requests to private/internal
IP ranges and protects against DNS rebinding attacks. Links to
private addresses are still stored but won't have title previews.
Also adds io.LimitReader to cap response bodies at 1MB to prevent
memory exhaustion from large responses.