Replace raphael-rails with raphael.js and split it from the rest of the JS
## What does this MR do?
Removes raphael.js and its related libraries from the default JS bundle.
It also removes raphael-rails because the gem is unmaintained and – for whatever reason – didn't want to cooperate with the way I was trying to require it.
This brings the default (compressed and minified) application.js from 354KB after the d3 MR (!4394) down to 324KB.
## Are there points in the code the reviewer needs to double check?
That tests pass and that there aren't errors on any pages (especially the Network page).
## Why was this MR needed?
It's only used on the Network page and was using way too much bandwidth for just one page.
## What are the relevant issue numbers?
#14372#13165
Follow-up to !4394 and !4516.
cc: @jschatz1
See merge request !4519
Due date can be removed from milestones
## What does this MR do?
Adds a button to milestone form to allow user to remove due date
## What are the relevant issue numbers?
Closes#15063
## Screenshots (if relevant)

See merge request !4428
Add shortcut to copy file content hash link
## What does this MR do?
* Allows for multiple shortcut handlers to be initialised
* Adds `y` shortcut to file pages to copy permalink URL.
## Are there points in the code the reviewer needs to double check?
Ney.
## Why was this MR needed?
UX
## What are the relevant issue numbers?
Closes#14470.
## Screenshots (if relevant)

See merge request !4496
New issue shortcut doesnt work on some pages
## What does this MR do?
1. Slightly tidies dispatcher switch case by utilising 'fall through' cases.
2. Adds shortcuts to project pipelines, milestones, builds and forks pages
## Are there points in the code the reviewer needs to double check?
I have a feeling that these may have been missed out of the case statements on purpose?
## Why was this MR needed?
Possible UX issue highlighted in #17929.
## What are the relevant issue numbers?
Closes#17929.
Closes#12616. (dup)
Closes#18123. (dup)
Closes#13688. (dup)
## Screenshots (if relevant)
See merge request !4393
Fixed issue with bold in issuable sidebar
## What does this MR do?
~~The sidebar contained both normal font weight & bold font weight, so this standardises them to bold.~~
After looking at the designs, i've updated the font weights & colors throughout the sidebar to correctly match them
## Screenshots (if relevant)

See merge request !4398
Improve usability for prioritized labels
## What does this MR do?
- Adds an icon next to prioritized label rows serving as a hint to the user that the labels can be sorted by dragging them.
- Adds description about prioritized labels.
- Restores empty message when removing all prioritized labels.
## Screenshots (if relevant)

Closes#18575
See merge request !4652
Pinned sidebar navigation option
## What does this MR do?
Gives the ability to pin the sidebar navigation. Pinning is only possible on screens with above `lg` which is `1200px` if not it reverts to being hidden by default.
## What are the relevant issue numbers?
Closes#18542
## Screenshots (if relevant)
### Un-pinned

### Pinned

See merge request !4683
Fixed issue with MR buttons being in a group
## What does this MR do?
Fixes design issue with the buttons in the merge request widget
## Screenshots (if relevant)

See merge request !4562
Update project star/unstar tooltip
## What does this MR do?
Fixes project toggle star button tooltip to show actual tooltip for its state.
## Are there points in the code the reviewer needs to double check?
No.
## Why was this MR needed?
- When you star a project tooltip wasn't changing.
- When you star a project and refresh the page, tooltip was still showing `Star Project`
## What are the relevant issue numbers?
Fixes#18143
## Screenshots (if relevant)
### Before

### After

## Does this MR meet the acceptance criteria?
- [x] [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
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !4672
Fix the logo in header not being an anchor link.
## What does this MR do?
Adds an actual link to the Tanuki in the header instead of a `Turbolinks.visit()`.
## Are there points in the code the reviewer needs to double check?
Do we care that this reverts the Safari issue fixed in !2690? I feel bad, but it's hacky and there's not a great way to fix it here.
## Why was this MR needed?
You couldn't open the home page in a new tab before, it was very annoying.
## What are the relevant issue numbers?
Fixes#18604
cc: @rspeicher
See merge request !4661
Fix note polling when a window has been hidden
`refresh` was called, `refreshing` was set to true, but then because
`document.hidden` was true, `getContent` was never called, and
`refreshing` never got reset to `false`, which stopped polling entirely
until refresh.
See merge request !4635
Manually create todo for issuable
## What does this MR do?
Adds a button to the sidebar in issues & merge requests to allow users to manually create a todo item themselves.
## What are the relevant issue numbers?
Closes#15045
## Screenshots (if relevant)



See merge request !4502
Aligned the two navs horizontally
## What does this MR do?
Previously the 2 top navs were not aligned horizontally together. The top nav would be slightly to the left due to the settings dropdown. This corrects that by putting `position: absolute` on the dropdown toggle.
## What are the relevant issue numbers?
Closes#18513
## Screenshots (if relevant)

See merge request !4616
`refresh` was called, `refreshing` was set to true, but then because
`document.hidden` was true, `getContent` was never called, and
`refreshing` never got reset to `false`, which stopped polling entirely
until refresh.
Fixes bulk-assign label for multiple issues not having the same labels
## What does this MR do?
Fixes a bug when bulk-assigning a label to multiple issues while the label is present in on the issues on the selection.
## Screenshots (if relevant)
**Before Bugfix**
<img src="/uploads/ad1f290bcf3930177a3a71c69cbe5325/before-bugfix.gif" width="700"/>
**After Bugfix**
<img src="/uploads/1f04d6bf027806fb13ca3773febda744/bugfix.gif" width="700"/>
## Does this MR meet the acceptance criteria?
- [x] Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
See merge request !4602