key Fields
Returns the key fields for the given type
If this type has one or multiple @TYPE_POLICY annotation(s), they are used, else it recurses in implemented interfaces until it finds some.
Returns the emptySet if this type has no key fields.