Changed authorization to be user managed

Also includes associated db classes

Change-Id: Ic03b48c4f9baa7fa869bf78226cc2abdcde4a39a
[cfid-412] Fix deserialization error in PUT /approvals

Required for the new revoke-approvals UI in login server. Fixes [#41204527].

Change-Id: Ic5195d729609030e7aadee6afe234da476f4722b
Use different version # for feature branch.

Change-Id: I95a2c6983b5f86483b659766640db7453dabf660
Changed authorization to record approvals and denials

Authorization approvals and denials are stored per user and client.

The user is prompted again if the user's request changes or if the
approvals expire.

The default approval expiry is set to is one month.

[#41106309]

Conflicts:
	common/src/main/java/org/cloudfoundry/identity/uaa/oauth/authz/Approval.java
	common/src/test/java/org/cloudfoundry/identity/uaa/oauth/authz/ApprovalsAdminEndpointsTests.java

Change-Id: Ic4ea20a086c5fd7203d7abc55e8b39c6da5f8c4d
Fix the user managed authorization feature to work with older login servers

[cfid-450] Fix the broken integration test
[cfid-451] If the approval handler gets an approval from a page with no scopes
explicitly mentioned, it approves all the requested scopes.

[#41685973]
[#41686335]

Change-Id: I11343ae510f073eec8305a9596fbef89a1a1314a
Fix broken integration tests

approvals.me scope is missing in the default list of scopes being checked

[#41693525]

Change-Id: I7e76e1075aa19d01ec3d94f809713f8b5d6d74b2
Fixed the confirmation page to use externalized strings for scopes.

[#41357763]

Change-Id: I107c566c7e19cf74bffb4bd01883929600309b56
[cfid-462] Fix inconsistency between Approval.equals() and Approval.hashcode()

Fixes [#41863321].

Change-Id: I6651306439d3cf38a6da51e03ba909cc610f6676
Merge branch 'feature/az_approvals' into develop

Conflicts:
	common/pom.xml
	pom.xml
	samples/api/pom.xml
	samples/app/pom.xml
	samples/pom.xml
	uaa/pom.xml
	uaa/src/main/webapp/WEB-INF/spring/oauth-endpoints.xml
	uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/ScimGroupEndpointsIntegrationTests.java
	uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/ScimUserEndpointsIntegrationTests.java
	common/src/main/java/org/cloudfoundry/identity/uaa/oauth/UserManagedAuthzApprovalHandler.java
	common/src/main/java/org/cloudfoundry/identity/uaa/oauth/authz/ApprovalsAdminEndpoints.java

Conflict Resolution:
	Update project version to 1.4.0-SNAPSHOT in all POMs
	Manually merge java and spring-xml changes from both branches

Change-Id: I0548988fe557a0a7382ba76df7ac844d96149972