feat(client)!: add more utility functions and improve abstraction classes
This MR adds more utility functions to handle cardinality and relation type.
It also improves the way the abstraction schema handles cardinality and subject/object relations. Everything can now be easily retrieved using the "role" param.
Please mind as this modifies the existing API, this becomes a breaking change MR.