WL#8131: Pluggable dynamic privileges

Affects: Server-8.0   —   Status: Complete

Currently privileged operations of various unrelated kinds are all abusing the
SUPER privilege for access control, e.g. both the firewall administration and
the replication slave administration require SUPER.
This makes granting the SUPER privilege a security risk as it's too coarse and
thus too powerful.

Also it's currently very hard for developers to be adding new privileges instead
since it would require altering the mysql.user table and recompiling the server
code. Thus components, plugins and server code developers are not adding
specific fine grained privileges and tend to keep abusing the SUPER privilege by
overloading it with even more meaning.

This worklog will provide a service to easily register new, granular global
privileges with the server at runtime. It will provide an easy way to GRANT and
revoke these privileges through SQL and programmatically check if they're
granted or not.

The worklog will also define a set of new granular privileges for various
aspects of what SUPER is used for today.