Provide ability to add RunListeners using SPI (#80)

@dsaff yes, but how would `ServiceLoaderWrapper` call the listeners? Again, if you only want the listeners called when we loaded new listeners, I can see how to do that, but if we make other APIs accessible from `ServiceLoader`, how would the listeners get called?