GitLab project based rooms
### Problem to solve
As a GitLab user, Gitter doesn't allow me to create rooms linked to a GitLab project. If my account is linked to GitHub I can create a room that is linked to a GitHub project. Have the room linked to the correct project is important so that short links work (eg. `#44` links to issue 44).
### Proposal
When signed in as a user linked to GitLab:
- when **Creating a room**, suggest creating a room based on my GitLab projects
- show a list of GitLab projects to choose from
[A follow up issue](https://gitlab.com/gitlab-org/gitter/webapp/issues/2397) will be required to add support for personal projects which do not have a group (considered a [namespace in the GitLab API](https://docs.gitlab.com/ee/api/namespaces.html)) -> https://gitlab.com/gitlab-org/gitter/webapp/issues/2397
Current create room modal | Current `community-creation-github-projects-view.js`
--- | ---
 | 
### Tasks
- [x] Backend prep
- [x] Add equivalent `GL_PROJECT` wherever `GH_REPO` mentioned
- [x] Create room modal
- [x] Update room input to suggest GitLab projects that are part of the community selected
- Create room docs: https://gitlab.com/gitlab-org/gitter/webapp/blob/develop/docs/rooms.md#room-creation
- [x] Choose GitLab project in create community flow
- [x] Add `my projects` heading and list GitLab projects to choose from
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1800
- [ ] ~~Default project/repo issue/merge request decorations~~
- Not needed in this iteration, see https://gitlab.com/gitlab-org/gitter/webapp/issues/1445
#### Backend Prep
`GH_REPO` references:
- [ ] ~~[modules/collaborators/lib/collaborators-service.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/collaborators/lib/collaborators-service.js)~~
- Not necessary for this iteration -> https://gitlab.com/gitlab-org/gitter/webapp/issues/2410
- [ ] ~~[modules/collaborators/test/collaborators-service-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/collaborators/test/collaborators-service-test.js)~~
- [ ] ~~[modules/groups/lib/get-github-username-from-group.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/groups/lib/get-github-username-from-group.js)~~
- [ ] ~~[modules/groups/lib/group-uri-checker.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/groups/lib/group-uri-checker.js)~~
- [x] [modules/groups/test/group-service-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/groups/test/group-service-test.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1799
- [x] [modules/permissions/lib/add-invite-policy-factory.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/add-invite-policy-factory.js)
- [ ] ~~[modules/permissions/test/add-invite-policy-factory-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/add-invite-policy-factory-test.js)~~
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1786
- [x] [modules/permissions/lib/admin-discovery/index.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/admin-discovery/index.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1789
- [x] [modules/permissions/lib/ensure-access-and-fetch-descriptor.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/ensure-access-and-fetch-descriptor.js)
- [x] [modules/permissions/test/ensure-access-and-fetch-descriptor-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/ensure-access-and-fetch-descriptor-test.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1789
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1799
- [x] [modules/permissions/lib/known-external-access/admin-filter.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/known-external-access/admin-filter.js)
- [x] [modules/permissions/test/known-external-access/admin-filter-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/known-external-access/admin-filter-test.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1796
- [x] [modules/permissions/lib/policies/gh-repo-policy-delegate.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/policies/gh-repo-policy-delegate.js)
- [ ] ~~[modules/permissions/test/policies/gh-repo-policy-delegate-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/policies/gh-repo-policy-delegate-test.js)~~
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1786
- [x] [modules/permissions/lib/policy-delegate-factory.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/policy-delegate-factory.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1786
- [x] [modules/permissions/lib/policy-factory.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/policy-factory.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1791
- [x] [modules/permissions/lib/security-descriptor-generator.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/security-descriptor-generator.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1792
- [x] [modules/permissions/lib/security-descriptor-validator.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/security-descriptor-validator.js)
- [x] [modules/permissions/test/security-descriptor-write-validator-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/security-descriptor-write-validator-test.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1793
- [x] [modules/permissions/lib/security-descriptor/transform.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/security-descriptor/transform.js)
- [x] [modules/permissions/test/security-descriptor/transform-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/security-descriptor/transform-test.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1794
- [ ] ~~[modules/permissions/lib/security-descriptor/updater.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/lib/security-descriptor/updater.js)~~
- This is only used for updating the visibility of the group/room if we detect a change from GitHub
- [ ] ~~[modules/permissions/test/known-external-access/admin-group-finder.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/permissions/test/known-external-access/admin-group-finder.js)~~
- [x] [modules/persistence/lib/schemas/security-descriptor-subdocument.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/persistence/lib/schemas/security-descriptor-subdocument.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1786
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1789
- [ ] ~~[modules/rooms/lib/room-repo-service.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/rooms/lib/room-repo-service.js)~~
- [ ] ~~[modules/rooms/test/room-repo-service-test.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/rooms/test/room-repo-service-test.js)~~
- Not necessary for this iteration -> https://gitlab.com/gitlab-org/gitter/webapp/issues/2413
- [x] [modules/rooms/lib/room-service.js](https://gitlab.com/gitlab-org/gitter/webapp/-/blob/cece04229f4fc3e9e933745becc30e7aaf615289/modules/rooms/lib/room-service.js)
- https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1797
issue