LinkChecker for checking status of links

Used to check a set of links respond correctly. Reports any that are
broken.
Add LinksReport AR model

This model will store links to be checked and the resultant broken links
found.
LinksReportWorker to perform offline link checks

Given a LinksReport id, will test all the links and store any broken
ones, marking the LinksReport has having been completed.
Wiring to create and queue a LinksReport
Add logging of bad links
MarkdownLinkExtractor becomes Govspeak::LinkExtractor
Extract Govspeak::AdminLinkReplacer

This makes reusing the code that replaces admin edition links with
public-facing ones possible.
Wire AdminLinkReplacer into LinkExtractor

So admin links to publicly-visible editions are automatically extracted
as their public URLs.
Refactor Govspeak::AdminLinkReplacer for clarity
LinkExtractor converts paths to URLs
Add a 3-second timeout to link checker
Initial UI for bad link reporting

The controls to run a link report are on the edition#show page. The
results are also listed on edition#edit to aid users when correcting
broken links.
Make broken links report results auto-refresh
Show pending results on edition#edit page
Add smart polling to broken link reporting

To prevent polling overload, checks on link report status have an
exponential falloff.
Make link check requests in parallel
Increase timeout wait

Some servers are just plain slow. Better to be accurate and not generate
too many false-positives.
Use smart quote in broken links copy
Add a loading spinner to broken link report
Fix feature broken by copy change