GetDefaultServices -> AddDataProtection with TryAdd

Fixed to pass config along to options, and renamed file to a mouthful with extensions...

One larger question is whether we should be following the framework AddXXX convention of useSubKey: true and auto scoping config.GetSubKey("dataProtection").  But that all kind of breaks down when we are passing config along to other frameworks like options...