SLING-3876 - ensuring that class-based self injection only happens on the first constructor parameter. Otherwise the @Self annotation is necessary. Also changing the ranking so that other injectors have the opportunity to inject to the first constructor parameter before.

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1619847 13f79535-47bb-0310-9956-ffa450edef68
SLING-3877 - adding a resource path injector. also did some minor refactoring to avoid code duplication between injectors.

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1619848 13f79535-47bb-0310-9956-ffa450edef68