Use RxJava as observers

RxJava is a well tested library developed and maintained by Netflix to allow reactive programming. At its heart are `Observable`, `Observer` and `Subject` objects, which are more powerful than what we designed ourselves.

The first three commits replace our observers by RxJava ones. The fourth one uses them to implement parallel queries when several connectors are enabled. On the live map for example, I see the difference when 4 different connectors are used. The fifth and sixth commits allow the address lookup to use RxJava as well.