move kernel-test utilities to kernel.tests.utils

context managers and tools for starting kernels,
and sharing a *single* global kernel for many tests.

reduce the number of kernels started for IPython.kernel tests,
which should save some time.
add missing `now` to MKM.restart
use forceful restart / shutdown in KM / MKM tests
remove kernel.tests.__init__
cleanup in kernel.tests.utils
Merge pull request #4149 from minrk/fewer-kernels

reuse more kernels in kernel tests