add a #permissions attribute to a module, that specifies the list of permissions available to an app, and a method to a Session to get the list of permissions granted to this agent (hard-coded for now...)
pass the set of permissions to the module loader, and use it to filter the list of available modules to those that we have the required permissions for
properly implement the permissions() method in Session to interrogate the agent for the available set of permissions, and provide a command-line method to list the available permissions