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
**What does this do?**
It removes the very strict sanitation on the users bio field, so that people can
have a bio like "I <3 GitLab"
**Why is this needed?**
Currently when you enter a bio with "I <3 GitLab", we only store "I ". This is
unexpected behaviour, since we want users to have a normal profile, without
having to worry what characters are allowed and which are not.
**Related issues:**
Fixes https://github.com/gitlabhq/gitlabhq/issues/5625
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
Update ffaker gem
Adds a version requirement which it didn't have before, at 2.0.0. This version has breaking API changes in that the namespace is now `FFaker` instead of `Faker`.
Prior, if a new developer checked out the repo, ran `bundle install` and then tried `rake dev:setup`, seeding would fail due to having the latest version of ffaker without the API changes in this MR.
Also updates `spring` version and the binstubs, just for kicks.
See merge request !686
Adds a version requirement which it didn't have before, at 2.0.0. This
version has breaking API changes in that the namespace is now `FFaker`
instead of `Faker`.
Fix Error 500 when searching Wiki pages
If a Wiki page turns up a hit in the search results, an error will occur:
```
Completed 500 Internal Server Error in 836ms
NoMethodError - undefined method `slug' for "test.markdown":String:
app/helpers/wiki_helper.rb:10:in `namespace_project_wiki_path'
app/views/search/results/_wiki_blob.html.haml:4:in `_app_views_search_results__wiki_blob_html_haml___2752621660395393333_70299911622700'
actionview (4.1.9) lib/action_view/template.rb:145:in `block in render'
activesupport (4.1.9) lib/active_support/notifications.rb:161:in `instrument'
actionview (4.1.9) lib/action_view/template.rb:339:in `instrument'
actionview (4.1.9) lib/action_view/template.rb:143:in `render'
```
An unhandled String containing the name of the Wiki page would be provided to the URL path generator. This MR handles that case.
Closes#1547
See merge request !592
Fix DB error when trying to tag a repository
Steps to reproduce: Go to a project settings, add tags, click on save changes
Observed behavior: Error 500
```
PG::Error: ERROR: column "taggings_count" does not exist
LINE 1: UPDATE "tags" SET "taggings_count" = COALESCE("taggings_coun...
```
Ran `rake acts_as_taggable_on_engine:install:migrations`, removed the first
migration that created the `tags` and `taggings` table, and added the rest.
* Closes#1512
* Closes#1550
* Closes https://github.com/gitlabhq/gitlabhq/issues/6867
* Closes https://github.com/gitlabhq/gitlabhq/issues/9194
See merge request !577
Upon tagging a repository, an error due to a missing migration occurred:
```
PG::Error: ERROR: column "taggings_count" does not exist
LINE 1: UPDATE "tags" SET "taggings_count" = COALESCE("taggings_coun...
```
Ran `rake acts_as_taggable_on_engine:install:migrations`, removed the first
migration that created the `tags` and `taggings` table, and added the rest.
Closes#1512
Closes https://github.com/gitlabhq/gitlabhq/issues/6867
Closes https://github.com/gitlabhq/gitlabhq/issues/9194
Add capybara-screenshot gem
This is a handy little gem that automatically saves the page and a screenshot when a Capybara test fails to `tmp/capybara/` so you can easily see why it might have failed without adding your own `save_and_open_page` directive in the code.
Also reduces the timeout for Capybara tests when not in a CI environment.
See merge request !578