jas-70 Support authentication with external providers (google, facebook)

- Added servers for OAuth2 Code flow
- Added OAuth2ProviderConfig to store secrets properly and have a version that works in dev
- Implemented SchemaMigration to read properties from local file
Popup service that does oauth with google and returns a promise that can be used with the response
removed nameWithCase (was a stupid idea)
pair programming with wzarmach
Added support for classified UniqueConstraint (e.g. for use with Provider + UniqueId)
Added User.realName and User.emailVerified
Added UserLogin (to hold oauth credentials)
Added support to UserService for login with UserLogin and create with UserLogin
Fixed broken test
I'm able to signUp and login with google!
Fixed failing test, [related to slim3-19](https://github.com/Slim3/slim3/issues/19)
Merge pull request #72 from krico/jas-70

Jas 70