Tail remote logs live

Make 'lymph tail' able to connect and disconnect from service and they
come and go, and that by making lymph.core.services.Service class
implement an Observable interface, that the newly introduced class
RemoteTail will use to observe when services get added or removed,
and react by connecting and disconnecting from this later respectively.
What I don't like is the super(Service, self).__init__(), I would have implement it as a mixin but then the Observable will be a bit uglier something like:

```
class ObservableMixin(object):
    def notify_observers(self, action, *args, **kwargs):
         if not hasattr(self, 'observers'):
              return

    def observe(self, action, callback):
          if not hasattr(self, 'observers'):
               self.observers = {}
          ...
```

As for composite over inheritance, I always think about with question like 'if A has a B ?'  -> composite or 'if A is B ?' -> inheritance, IMHO the idea where it's favorable to use composite over inheritance is when you need the flexibility to change part of the behaviour of a class (e.g. thing DI), other than that in simple cases like this one, I think inheritance is more suitable.

Thought ?