Performance improvements
* store @participants in variable
* store result of subscribed? call into variable
In total it reduce amount of SQL queries for issue or merge_request with 10 comments/participants almost twice.
See merge request !883
Animation of Sidebar (video in here)
Edited the CSS of header and sidebar; added a new div of gitlab-logo-container to the html to make things easier.
The transition-duration is set to 0.3s and when the nav bar expands, it opens up over the text, essentially revealing hidden text.
[animation-sidebar-2.mov](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b15996a256d6bed03a19c68549d116e4/animation-sidebar-2.mov)
/cc @JobV @nicolas2
See merge request !849
MergeRequest#show performance improvements
This is a first pass on improving the performance of the `MergeRequests#show` page. Notable changes:
- The "Commits" tab is loaded lazily, so the initial page load should be much faster for MRs with many commits.
- Relative timestamps via `timeago` are only initialized once per load instead of `O(n^2)`. This greatly improves frontend rendering times for a large number of commits.
- Refactored `User.find_for_commit` to use a single ARel-generated SQL query instead of the old method which resulted in one query, and could result in up to three.
See merge request !838
Support commenting on a diff in side-by-side view
### What does this MR do?
This MR adds support for commenting on a diff in side-by-side (aka parallel) view. It also fixes a JavaScript bug (see !779) when the comment button is clicked on a line that already has a comment.
There is an existing bug where the comment count is not updated when a new comment is added. I'll send a MR for that later.
### Why was this MR needed?
Commenting only worked in "inline" mode. Often the side-by-side view is more conducive to writing comments.
### What are the relevant issue numbers?
Closes https://github.com/gitlabhq/gitlabhq/issues/9283
### Screenshot

See merge request !810
Now we can simply loop through all themes, among other things.
This also removes the `dark_theme` / `light_theme` classes and the
`theme_type` helper, since they weren't used anywhere.
Since they're all defined by a mixin, it didn't provide any benefit to
have them in separate files.
This also adds variables defining the basic color of each theme so we
can re-use them in the previews.
Refactor accept merge request widget
* make each case a simple view
* separate merge request JS from merge request accept widget JS
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
See merge request !799