SLING-3696 - adding support for defining a default injection strategy of required or optional. Also adding a @Required annotation

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1605150 13f79535-47bb-0310-9956-ffa450edef68
SLING-3677 - converting arrays to lists in ValueMapInjector. Thanks to Krystian Panek for the patch!

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