Move language info from kernelspec to kernel_info_reply

From #6776, and discussion from dev meeting yesterday.

This reduces kernelspecs to just names and the necessary information to launch a kernel. Information about the kernel language is now obtained by making a kernel_info_reply. It is still stored in notebook metadata, now under a `language_info` key, so that we can render notebooks correctly without requiring the kernel.

In the notebook, we were already making a kernel_info_request whenever we connected to a kernel, but discarding the result; the result is now stored in JS as `kernel.info_reply`, and used to update the codemirror mode and the notebook metadata.