Hacked in a better message for attachment network error
## What does this MR do?
Adds a better error message for when a user is uploading an attachment and they cannot reach the GitLab instance.
Now displays `Network error. Please check your connection.`.
## Are there points in the code the reviewer needs to double check?
As noted above, I think this is hacky, ideally this would be sent straight from the backend but if not then this should be handled globally?
/cc @fatihacet
## Why was this MR needed?
Attachment upload UX
## What are the relevant issue numbers?
Closes#19161.
## Screenshots (if relevant)
*UPDATED:*

## Does this MR meet the acceptance criteria?
- [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [ ] API support added
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !4977
Naive attempt at fixing Underscore templates
## What does this MR do?
Attempts to fix part of #18939.
## Are there points in the code the reviewer needs to double check?
That this doesn't break anything.
## Why was this MR needed?
See #18939.
## What are the relevant issue numbers?
#18939
## Does this MR meet the acceptance criteria?
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
See merge request !4842
Fixed markdown buttons in FF
## What does this MR do?
The markdown buttons weren't working with the `execCommand` function. So it has to fallback to replacing the value in the textarea.
See merge request !5085
Don't show "request access" button to project owners
This MR fixes an issue where project owners that are not in the project's members list (I believe this is how we handled project owners before, now we seem to create a "Master" member for the project creator) would see the `Request Access` button.
This MR fixes this issue in a clean way by adding a new `:request_access` ability to replace an ugly helper.
It also give project owners the ability to update & destroy a requester that would happen to be themselves (since owners could request access to their own project before this MR).
Related to #18790.
See merge request !5091
Add lib/gitlab/emoji.rb instead of gitlab_emoji gem and upgrade Gemojione
- No reason to split it into a separate gem when the gem barely did anything. We can use gemojione directly, making updating gemojione that much easier. Unless there's a particularly good reason we were using the gem?
- Fixes the Rake task since it broke after all the AwardEmoji changes.
- Update gemojione to 2.6.1.
Spring Update changes! http://emojione.com/releases/#2.2.0
See merge request !4919
Updated project header
## What does this MR do?
Updates the project header.
## What are the relevant issue numbers?
Closes#18544, #18832
## Screenshots (if relevant)

See merge request !4989
Dumb-down avatar presence check in `avatar_url` methods
`avatar.present?` goes through CarrierWave, and checks that the file
exists on disk and checks its filesize. Because we're hitting the disk,
this adds extra overhead to something where the worst-case scenario is
rendering a broken image.
Instead, we now just check that the _database attribute_ is present,
which is good enough for our purposes.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/19273
See merge request !5093
Fixed avatar alignment in new MR view
## What does this MR do?
Fixes the alignment of the avatar in the new MR compare view
## Screenshots (if relevant)

See merge request !5095
`avatar.present?` goes through CarrierWave, and checks that the file
exists on disk and checks its filesize. Because we're hitting the disk,
this adds extra overhead to something where the worst-case scenario is
rendering a broken image.
Instead, we now just check that the _database attribute_ is present,
which is good enough for our purposes.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/19273
- Group / project members cannot request access
- Group members cannot request access to a group's project
This addresses an issue where project owners could request access
to their own project, leading to UI inconsistency where their requester
status would replace their owner status.
Signed-off-by: Rémy Coutable <remy@rymai.me>