Respect kernelspec metadata for syntax highlighting in nbconvert

This supersedes #6619.

* Add an optional pygments_lexer key to kernelspecs
* The HTML and Latex exporters now expose to their templates a `highlight_code` filter which uses the appropriate (HTML or Latex) formatter, and the lexer specified in the kernelspec, falling back to 'ipython3' if no lexer is specified.
* The config option for the default lexer to use in nbconvert is deprecated, to be removed in a future release. For now, it will still work, and override the kernelspec.