Description
Currently RangerBasePlugin has a static member servicePluginsMap, which is used in following cases:
1. to notify plugin of change in auth-context, like updates to tags
2. to get audit provider for the plugin, from RangerDefaultAuditHandler.logAuthzAudit()
#1 can be addressed by moving the notification details to RangerAuthContext
#2 can be addressed by getting the audit provider from the global audit-provider factory instance. This move (of static) from plugin->audit-factory would enable multiple plugin instances to use same audit provider.
In addition, much of the state information in RangerBasePlugin (like serviceName, serviceType, appId, etc.) should be moved to another class, like RangerPluginConfig.