Add option to override embedded resource filename heuristic with Config.EmbeddedResourceTreatAsFiles
Update SS.Text dll
Add IServerEvents.GetNextSequence() API for incrementing either local or distributed counter
Globally accessible hooks into the session / auth lifecycle.

This supports IPlugin authors, allowing session lifecycle hooks to be
registered without needing changes to the IAuthSession
WebSudo feature, allowing requests to be tagged with [WebSudoRequired]

This feature forces a fresh login to be performed by the user for any
action marked with [WebSudoRequired]. Only subsequent logins will grant
the elevated access for the configured duration (default 20 minutes).

Example Configuration:
var authFeature = new AuthFeature(
    () => new WebSudoAuthUserSession(),
    new IAuthProvider[] { new CredentialsAuthProvider(new AppSettings()),})
    {
        RegisterPlugins = { new WebSudoFeature() }
    };
this.AddPlugin(authFeature);
Align field ordering to flow from base class
Refactor new AuthEvents
WebSudo feature tests
Code-gen signed projs
Populate UserId in CredentialAuthProvider AuthenticateResponse
Don't override MVC's ViewDataDictionary
Update SS dlls
Add latest RedisServerEvents
Remove BuildTask project
Remove BuildTask test projects
Fix tests when missing AuthEvents
Update SS dlls
Fix subscription removal in RedisServerEvents
Enable RedisServerEventsTests in CI tests
Change to use local dates to match default JSON Serializer behavior to serialize as UTC and deserialize back into Local time