This commit makes it possible for plugins to declare
project permissions like what they are doing for
capabilities.
In the access section of a "project.config" file,
a plugin delcared permission is stored in a format
like "plugin-{pluginName}-{permission}" so that we
can tell if a config name could possibly be a plugin
permission with some confidence. This is helpful
when we load/save "ProjectConfig" where listing
plugin defined permissions is not trivial, e.g.
DynamicMap doesn't present when a test site is
initialized.
Note plugin declared capabilities have to keep the
old format "{plugin-name}-capability" before a data
migration is done.
In the child commit, we are going to extend
the "PermissionBackend" to accept project permissions
declared by plugins.
Change-Id: I977a77286f56214f90a5ff6a5b482e2701cf9916