title: AutoMapper not mapped IncludeMembers with inheritance (interface or abstract base class)
body: <p>Source class hierarchy:</p>
  <pre><code>    public interface IBase {}
  
      public interface IChild1 : IBase { }
  
      public interface IChild2 : IBase { }
  
      public class A
      {
          public IBase Foo { get; set; }
      }
  
      public class B : IChild1
      {
          public int AA { get; set; }
      }
  
      public class C : IChild2
      {
          public bool BB { get; set; }
      }
  </code></pre>
  <p>And Destination type:</p>
  <pre><code>public class Dest
  {
      public int AA { get; set; }
          
      public bool BB { get; set; }
  }
  </code></pre>
  <p>AutoMapper configuration:</p>
  <pre><code>var config = new MapperConfiguration(c =&gt;
              {
                  c.CreateMap&lt;A, Dest&gt;()
                      .IncludeMembers(x =&gt; x.Foo);    //  Error!
  
                  c.CreateMap&lt;IBase, Dest&gt;()
                      .Include&lt;B, Dest&gt;()
                      .Include&lt;C, Dest&gt;();
                  c.CreateMap&lt;B, Dest&gt;()
                      .IncludeBase&lt;IBase, Dest&gt;();
                  c.CreateMap&lt;C, Dest&gt;()
                      .IncludeBase&lt;IBase, Dest&gt;();
              });
  </code></pre>
  <p>I try map A -&gt; Dest, expect inner object Foo flattening mapped in Dest but it's not happening</p>
  <pre><code>var a = new A()
  {
      Foo = new B
      {
          AA = 42
      }
  };
  
  var r1 = mapper.Map&lt;IBase, Dest&gt;((IBase) new B
  {
      AA = 42
  });
  
  Assert.Equal(42, r1.AA);    //  Success
  Assert.False(r1.BB);                    //  Success
  
  var r = mapper.Map&lt;Dest&gt;(a);
  
  Assert.Equal(42, r.AA);             //  Fail
  Assert.False(r.BB);
  </code></pre>
  <p>I think there is an error in the automapper method IncludeMembers, or am I wrong in the config somewhere?</p>