title: Async methods return null
body: <p>If I try to mock a type containing an <code>async</code> method such as :</p>
  
  <pre><code>interface Foo
  {
      Task&lt;int&gt; Bar();
  }
  </code></pre>
  
  <p>Then the mock's <code>Bar</code> method is returning null. I guess Moq is choosing <code>default(Task&lt;int&gt;)</code> as default return value for my method, which is indeed <code>null</code>. However Moq should rather choose something like <code>Task.FromResult(default(int))</code> as default value. Can I force Moq to make async methods returning non-null Tasks ?</p>