Extract application permissions from a drools file and into Java code.

This is in preparation for the move to CDI.
Testing of this pull request must ensure that the same level of permissions in the drools file is still maintained. The drools file is still kept for reference. It may be removed after this pull request is QA'd and merged.
'Nor' looks like a typo for 'not', but perhaps denyWhenSomeArgsNorPresentAndAreRequired -> denyWhenSomeRequiredArgsAbsent ?