UAR-783 - Proposal workflow customization [FE KCI-411]

Tech Summary:

The pull request for this effort will not be squashed, since "git log" and "git rebase" were not consistent with each other. Josh and I spent some time to sort things out, to no avail.

Additionally, I had to merge UAR-781 into this jira, as there was a LeadUnit-handeling dependency. This accounts for first two logged commits.

Now, I'll address the changes made relative to the six requirements listed in this jira's description.

-------------------------------------------------------------------------------
1. KCI-411, Workflow customization, port code from KC 3.1.1

Added code from KC 3.1.1:
src/main/java/edu/colostate/kc/hierarchyrouting/UnitHierarchyProvider.java
src/main/java/edu/colostate/kc/infrastructure/CSUKeyConstants.java
src/main/java/edu/colostate/kc/workflow/UnitApproverRoleAttribute.java
src/main/java/edu/colostate/kc/workflow/UnitPreApproverAttribute.java
src/main/java/org/kuali/kra/hierarchyrouting/UnitStop.java
src/main/java/org/kuali/kra/kim/service/impl/UnitApproverDerivedRoleTypeServiceImpl.java
src/main/resources/ApplicationResources.properties

This intial commit required little modification, just updating the names of several services and new objects.

I did have to do more in several cases:

src/main/resources/org/kuali/kra/datadictionary/ProposalDevelopmentDocument.xml
The new rice generates less workflow xml. The code expected certain elements to be present (ProposalPerson), but were not in OOTB KC 5. I had to add an additional entry to this file in order for the needed xml to be generated.

src/main/java/edu/colostate/kc/hierarchyrouting/UnitHierarchyProvider.java
Modified logic in order to extract Unit Number from generated xml.

src/main/java/edu/colostate/kc/hierarchyrouting/UnitHierarchyProvider.java
Modified again to clear out magic strings.


-------------------------------------------------------------------------------
2. KCI-667, Need to turn on 'Proposal Initial Approval'

No code was necessary for this, since this is just modified maintence xml. This means that these changes were present as part of the data migration. The xml involved is attached to UAR-667 if needed in the future.


-------------------------------------------------------------------------------
3. KCI-1122, Unit workflow disappears

We got this one for free, as part of pulling in code for requirement #1 above. More specifically, the fix was already contained in the UnitHierarchyProvider class.


-------------------------------------------------------------------------------
4. UAR-284 Units dropping from workflow

Added RICE code from KC rice-1.0.3.3:
rice-middleware/impl/src/main/java/org/kuali/rice/kew/rule/FlexRM.java

Modified to contain FE fix.

-------------------------------------------------------------------------------
5. UAR-18, Superuser 'return' going to exception

Added RICE code from KC rice-1.0.3.3:
rice-middleware/impl/src/main/java/org/kuali/rice/kew/actions/ReturnToPreviousNodeAction.java

Simply ported fix from v3.1.1.

-------------------------------------------------------------------------------
6. UAR-784, Make sure cost share customization is incorporated successfully with this work 

No action taken.

This is a separate issue that has yet to be implemented. We should, however, revisit the tests for this ticket once UAR-784 is delivered.

-------------------------------------------------------------------------------
IMPORTANT: This means local developers will need to build all 3 projects to get this jira's functionality. This also means there will be a pull request on the rice-2.3.6 project. When deploying in our AWS instances, all three projects are built by default, so nothing needs to change there.

The rice pull request is:
https://github.com/ua-eas/ksd-kc5.2.1-rice2.3.6-ua/pull/1