Add specs for the User class interface

When an app integrates `gds-sso`, it needs to have a `User` class
that includes the `GDS::SSO::User` module and fulfils a certain contract.

This change adds a RSpec shared spec that can be included in the app's `User`
specs:

```ruby

require 'gds-sso/lint/user_spec'

describe User do
  it_behaves_like "a user class"
end
```

The motivation for this comes from introducing bugs by bumping `gds-sso` and breaking SSO integration on preview.
Yes the intention is to make sure that everything integrates together. Should I signpost this somehow?