added RBAC user implementation. use grantRole() and revokeRole() to assign permissions of a role to the user. loadDefinitions() can be overwritten to load a roles and their credentials from a source different from rbac_definitions.xml. closes #320