Simplify DocumentDisplay. [finishes #74173578]

The old DocumentDisplay assumed the Documents passed to setDocument()
didn't have a URL. That assumption made sense way back when, when we
sent a preloaded list of Documents along with every Node. Now that we
only use the single DocumentList, we can send a lot more information
along with every Document: everything but full text. That means we can
render right away instead of asynchronously. (We fill in the text
asynchronously if it's needed.)
Remove document_contents_controller.

We were getting duplicate requests of everything. There's no value here.
Don't demand already-demanded Nodes.