[cfid-283] Remove dependencies on scim from lower level packages

I think SCIM could be extracted into its own library at this point.  Let's try and keep
it that way.

[Fixes #39073217] [cfid-283] Remove cycles between authentication, audit and event packages in uaa

Change-Id: I8a407100c209d2b3958df086ecb2f1c3adb0ee79
[cfid-42] Add refresh_token grant automatically

When a client is created which has authorization_code grant type but is
missing refresh_token, the latter will be silently added. This prevents
problems when users accidentally forget to ask for this grant type when they
actually need it. [Fixes #35577857].

Change-Id: I1f5a87753256d82f244dc067ad3314d978864c68
[cfid-241] More tidying up on audit

The origin field on the audit records was messy (just a toString
of authentication details which might not yield anything interesting).
Added details of client and remote ip address if known.

[Fixes #38648335]

Change-Id: Iaced62a19ef784899f74bfe1c286d2c67afd04a2
[cfid-249] move any state needed across UAAs to shared storage

Added a JDBC store for the existing TokenStore and
AutorizationCodeServices.  The necessary tables are
created on startup.

[Fixes #38710949]

Change-Id: Ibaa299ef232d22fa7758a8cf26c40768c4c08913
[cfid-196] allow familyname and givenname to be null

[Fixes #37643127]

Change-Id: I07e13a318d04ec2a854a8213af40b8b1609f6f25
[cfid-47] Change DDL scripts to allow mixed case username...

...but preserve case-insensitivity in queries.

[Fixes #35352693] [cfid-47] username should preserve case

Change-Id: I9f016d884d230e8e8ee1c50383abf25b0679a928
[cfid-347] Integration test failures with postgresql

[Fixes #40112407]

Change-Id: Ifb61fded4a0e031161367391a87f4deb1c60a26c
Fix login server name in gatling tests.

Also added a vmc failed login scenario and some other
minor changes.

Change-Id: I65f66226db754bf1f5b824278d7b69e26fd6826e
Add defensive retry for lock failures in token store

Change-Id: I0774f58793d225398d5243e690f470657f8cce7c
Update to gatling 1.3.5

Also reset the number of users to 10000. Simplified Readme to only
describe using sbt to run the tests. Added auth code check to
fail authorization code flow at the point where it fails to get
an auth code, rather than the subsequent token request.

Change-Id: Iddd1ddef27e7a04eac389e869f0cfec7e1ea80c0
Merge "Update to gatling 1.3.5" into develop
Update maven build to gatling 1.3.5

Change-Id: Icab1d676cae4697445ffd0c63278417f19cd1d66
[cfid-348] Refactor app sample to use UAA scopes

This change doesn't affect the server (provider) features of the UAA
but it does alter the way that the sample client works, and provides
additional library features to support that.  The basic idea is
that a client app can interrogate the token scopes and use them to
provide role-based (or other) authorization locally. The sample does
this with the /check_token endpoint (hence the app has to be a
uaa.resource), but it could in principle work with local decoding too.

Also inspired by problems encountered with a abug that surfaced in the
dashboard:

[#39194235] [cfid-300] User authenticated by Login Server only has restricted authorities (uaa.user)

Change-Id: I01e760fbe7b9689263af61a2165f8b0432342ac1
[cfid-357] Move autoapprove to client registration

The old oauth.client.autoapprove is still used by the
ClientAdminBootstrap but now it just overrides settings
in the client details themselves.  So this is preferred:

  oauth:
    clients:
      foo:
        scope: ...
        authorized-grant-types: ...
        autoapprove: true

or

  oauth:
    clients:
      foo:
        scope: ...
        authorized-grant-types: ...
        autoapprove:
          - openid
          - cloud_controller.read

[Fixes #40345221]

Change-Id: I0460ebd0bfe471d4a61f718d1eb0002ebb2c0cb4
Optimize singleton creation in Yaml processors

Change-Id: I60d989765584411f37c1ff7f2120d0e3d9ce8569
[cfid-332] Reset account lockout counter when password is changed

All the admin user or client has to do is reset the user's password
and the lockout timer is started again.

[Fixes #39907125] need to be able to reactivate a user account and reset password
[Fixes #40368551] Duplicate audit event for password change

Change-Id: Ifbbd5636e6193447a5604a815492c85c3c1c5af7
don't raise exception on empty search result

[delivers #40460601]

Change-Id: I37942d222901f18fe2262b0eeb5eeaf5df82845a
[cfid-368] Preserve case of username in ScimUser

[Fixes #40593105] [cfid-368] username should preserve case

Change-Id: I76d6b3179f510538ee190ff1e72c9879d73e8d0a
Changed group attribute from membershipType to Type

This is done to match the SCIM spec.

[#40653593]

Change-Id: I477515dc997d6161d635b8543641d93e93f48e79
documentation updates uaac etc

Change-Id: If04dd69fbebc00e68f077980df3acc9b92cbaf32