[MSBuild] Send log messages back to MD asynchonously

Made a small project with diagnostic logging build 16% faster.

This shouldn't need synchronization because we block on the RunTarget
return value, and these messages should be processed before that one.