Added the ability for the event aggregator to support message inheritance

This will allow the following code
```
  public class FileMessage {}

  public class FileSaveMessage : FileMessage {}

  public class FileLoadMessage : FileMessage {}

  public FileMessageHandler : IListener<FileMessage> 
  {
    public void Handle(FileMessage message) {}
  }
```
The file message handler will handle the following messages : 
```
  ea.SendMessage(new FileMessage());
  ea.SendMessage(new FileLoadMessage());
  ea.SendMessage(new FileSaveMessage());
```
To enable Message Inheritance use the Config class on constructor
```
  new EventAggregator(new EventAggregator.Config { SupportMessageInheritance = true });
```
Message Inheritance is disabled by default.