Configure end user roles and access controls in the Hercules app

Adds first-class roles and access controls for end users of Hercules apps, so developers can gate features and data without writing custom permission logic.