Add config inheritence for domain objects
A config for a class will be valid if the domain is a valid @ResourceDomain
annotated class or if its parent class has a config (recursive) or if any
of its directly implemented interfaces are @ResourceDomain annotated valid
domain class; in case of multiple valid interface domain objects the config
domain class will be chosen using (priority annotation attribute +
classname) in descending order, i.e. the top most.
Added test case for inherting config from parent class hierarchy or
directly implemented interfaces.
Signed-off-by: Imran M Yousuf <imyousuf@smartitengineering.com>