#73 support type level Feature Groups annotation:

- modify FeatureAnnotations getAnnotations() and getAnnotation() to consider type level annotations (not just field level annotations)
- modify FeatureAnnotations getAnnotations() signature to return Set instead of an array and also to return empty Set instead of null in case there are no annotations
- increase unit test coverage