Replace jquery-cookie plugin with js-cookie
## What does this MR do?
Removes an outdated and unmaintained dependency [jquery.cookie](https://github.com/carhartl/jquery-cookie) with its successor [js.cookie](https://github.com/js-cookie/js-cookie) which is not dependent on jQuery.
Also this MR adds a global default cookie `path` setting which defaults to the GitLab root directory. Now, setting a cookie to any path other than `gon.relative_url_root` requires an explicit opt-out. This is a sensible default and should prevent accidental omission going forward.
## Are there points in the code the reviewer needs to double check?
Double check that all instances of `$.cookie(x)` have been replaced by `Cookies.get(x)` and all instances of `$.cookie(x, y, z)` are replaced with `Cookies.set(x, y, z)`. All javascripts which set or retrieve cookie values should function just as before.
## Why was this MR needed?
One more step toward shaking off jQuery as a dependency (#23022), also [jquery.cookie](https://github.com/carhartl/jquery-cookie) is no longer maintained and hasn't seen an update in 2+ years.
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG.md) entry added
- Tests
- [x] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [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 it does - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
## What are the relevant issue numbers?
#23022
See merge request !7085
- Disable {project, group} members submit button if no users
If no users are selected, the submit button should be disabled.
- Alert user when no users were added to {project, group}.
When no users were selected for adding, an alert message is
flashed that no users were added.
- Also, this commit adds a feedback when users were actually added to a
project, in symmetry with how group members are handled.
Closes#22967, #23270.
Ace ventura
## What does this MR do?
Makes Ace only load when it's actually necessary. The only two places it seems to be used is for Snippets and the File (Blob) Editor.
Before minification or compression, this takes the application.js down from 2.2MB to 1.6MB, and also removes two inline scripts :D
Compressed/Minified: master: 317KB/1.1MB, ace-ventura: 220KB/771KB
## Are there points in the code the reviewer needs to double check?
That this doesn't just completely break anything.
## Why was this MR needed?
Ace is a big library, this allows us to only load it when necessary.
## What are the relevant issue numbers?
#14372
## Does this MR meet the acceptance criteria?
- [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
- [x] 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 !4914
Fix Ace syntax highlighting with compiled assets
## What does this MR do?
Update ACE to 4.1.0 to allow modes (syntax highlighting files for particular languages) to be lazily loaded.
## Are there points in the code the reviewer needs to double check?
Don't think so.
## Why was this MR needed?
Syntax highlighting in the file editor only worked in development and test modes, not in production!
## What are the relevant issue numbers?
Closes#3225.
## Screenshots (if relevant)
First, the test setup - add these lines to `development.rb`:
```ruby
config.assets.debug = false
config.assets.compile = false
config.assets.digest = true
```
Then, before starting the server, run `bundle exec rake assets:clobber assets:precompile`.
Before:

There is an error in the console because `/assets/ace/mode-ruby.js` was not found (it's only available when assets are compiled on demand).
After:

This loads `/assets/ace/mode-ruby-3915f95a6cc47306b1305e4dcb7aca25b2ef9c49b18ec6011707135b6575d8f3.js`, which works because the precompile step included it and told ACE where to find it.
## 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~~
- [x] 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 !5501
Fix diff comments inverted toggle bug
## What does this MR do?
Explicitly set the comments visibility toggle based on the `active` css class.
## Are there points in the code the reviewer needs to double check?
Shouldn't be
## Why was this MR needed?
Fixes existing UI bug
## What are the relevant issue numbers?
Closes#20898
## 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
- Tests
- [x] 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 !5818
Created tests and refactored some code along the way
Added stat graph util spec, refactored code
finsihed up tests and refactors
finsihed up tests and refactors