GRP-10: Automate a group's configuration

Executive Summary: 
A software developer or system administrator (hereafter referred to as the “group user”) needs an Application Programmer Interface (API) or Command-line Interface (CLI) that allows him/her to write code that can access and/or control the configuration of a group, roughly equivalent to use cases GRP-02, -03, -05, and -06, but under code control rather than a human user interface. One notable reason is so that science gateway developers can use XSEDE’s group management functions in their gateways rather than implementing their own group management functionality and maintaining a separate group database. Another reason is to enable XSEDE and third-party systems and applications to use XSEDE’s groups for authorization decisions.
User Importance Summary: 
XSEDE community members need to be able to define arbitrary groups of people to which they can refer throughout the XSEDE system for authorization and communication purposes. The ability to access and manage these groups via APIs, SDKs, and CLIs is vital to enabling their use through the XSEDE system.
Target Communities and Sizes: 
XSEDE system and service administrators - 10 < N < 100 XSEDE SP administrators - 10 < N < 100 Independent resource administrators - 10 < N < 100 Campus IT administrators integrating systems with XSEDE - 10 < N < 100 Science gateway and application developers - 100 < N < 1000