title: Async TestInitialize guarantees test to fail
body: <p>It is <strong>incorrect</strong> by design to have async call within TestInitialize, as TestInitialize has to happen before any TestMethod and have fixed signature.</p>
  <p>Can this be correct approach in any way to have async TestInitialize as well?</p>
  <pre><code>    private int val = 0;
  
      [TestInitialize]
      public async Task  TestMehod1()
      {
          var result = await LongRunningMethod();
          val = 10;
      }
  
      [TestMethod]
      public void  TestMehod2()
      {
          Assert.AreEqual(10, val);
      }
  </code></pre>
  <p>Any thoughts?</p>