CPluginManagerSimulator::createListener returns nullptr if no
listener could be created, e.g. because the plugin could not be loaded
due to missing dependencies. Handle this scenario properly instead of
raising an assert.
refs #669
Up to now, CPluginManagerSimulator::getListener was allocating a listener
automatically in the background which was not always the desired
behaviour. For example in case simulators are stopped, it is unnecessary
to allocate all listeners and call stop on them. It is enough to stop
the existing ones.
In order to achieve the correct behaviour the creation part is moved to
CPluginManagerSimulator::createListener.
refs #606