Port MicrosoftAccount middleware from Katana.

#41 

FYI: Microsoft Account has restrictions that make the samples difficult. See samples/SocialSample/Startup.cs
Maybe use `nameof(Foo)` and pass it into a `{0}` for these? That's what we've started doing in a lot of new strings in K.