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.
I think the two preceding rules would be clearer in their intent if they delegated to a third method isProjectMaintainer(), instead of having canInsertOrUpdateProjectIteration() delegate to canUpdateProjectOrAddIteration().