Provide ability to add RunListeners using SPI (#80)

@dsaff see http://docs.oracle.com/javase/7/docs/api/java/util/ServiceLoader.html#iterator()

@baev perhaps a comment inside the catch block mentioning why we might get there?