Make installation of native kernelspec explicit

Instead of creating a kernelspec directory matching the running frontend, return its spec without writing to disk.

Adds a command `ipython kernelspec install-self` to write a kernelspec for the current version of Python.

This also made it possible to simplify the kernel manager code a bit.