Kernel registry (IPEP 25)

This is the first part of implementing the kernel registry and selection machinery in [IPEP 25](https://github.com/ipython/ipython/wiki/IPEP-25:-Registry-of-installed-kernels).

The `ipython console` and `ipython qtconsole` entry points gain a `--kernel foo` command line option. I've been testing with this in `~/.ipython/kernels/IR/kernel.json`:

```json
{"argv":["R","-e","IRkernel::main('{connection_file}')"],
"display_name":"R",
"language":"R"
}
```

KernelManager.kernel_cmd is deprecated. If you set it, it generates a warning, but still overrides the kernel spec machinery.