JERSEY-2495 and JERSEY-2059 - support for different Spring @Component archetypes

Fix for:

https://java.net/jira/browse/JERSEY-2495
https://java.net/jira/browse/JERSEY-2059

Explanation: Spring components don't need to be directly annotated with `@Component`. There are other specialized and commonly used "archetypes" such as `@Service`, `@Repository` and `@Controller`. Arguably they all make some sense with regards to REST any anyway they are valid Spring components and should be treated the same.