fix #15 - execute startup once and only once

Even if there are multiple ApplicationContext starts, there should be a single
Kernel.KernelStartedEvent posted.