Refactor authz strategy

Removes the OneToOne relationship between module and authz entity. The Guarded interface allows any entity to be "guarded" by a authz object, which is "embedded" as new columns in the same table.

Details:
1. Embeds the authz in the same table
2. Introduces the Guarded interface
3. Requires db migration