On the frontend, updates the route path to include the (base64-encoded)
url. Uses that and the load-single functionality to support loading
directly into a submission page, which fetches just the requested
submission.
Also ensures we don't open duplicate comment subscriptions.
Replaces .json requests with channel.js subscriptions. Rewrites reducers
to match, now being more careful about paginated data, and storing
comments in their own structure, at [group][url] indices, rather than
the non-static [page][index] ones used previously.
Note that this requires some changes to the frontend UI code also.
See next commit.