Update logic for validates_merge_request for tree of MR

For case:

Merge request №1: branch "feature" to "release" and remove "feature" branch

Merge request №2: branch "release" to "master" and remove "release" branch

Merge request №1 - broken :(
Remove -y option when removing puby1.8

Since it is easily could break installations running on the server - hence the person doing the install should be able to make the decision to remove himself.
Add link to project page from admin view
Refactor contributing process to make it more readable and make sure other core team members are mentioned.
spelling mistake.
-i flag allows sudo to work for git users using rvm that is not being used by
root user (su might be better)
Improved large commit handling.

Previously, only number of changed files mattered. Now, number of lines to render in the diff are also taken into account.

A hard limit is set, above which diffs are not rendered and users are not allowed to override that. This prevents high server
resource usage with huge commits.

Related to #1745, #2259

In addition, handle large commits for MergeRequests and Compare controllers.

Also fixes a bug where diffs are loaded twice, if user goes directly to merge_requests/:id/diffs URL.
Merge pull request #5014 from bladealslayer/feature/big-commit-improvements

Improved large commit handling.
Consistent status.
Merge branch 'consistent-status' of /home/git/repositories/gitlab/gitlabhq
Merge branch 'refactor-contributing-process' of /home/git/repositories/gitlab/gitlabhq
Move commits dates to left
Add description to MergeRequest model
Improve Merge Request form

* added description
* simplified form
* enabled gfm autocomplete
Merge branch 'ui/commits_list' of /home/git/repositories/gitlab/gitlabhq
Merge branch 'feature/mr_description' of /home/git/repositories/gitlab/gitlabhq
API: admin users can sudo commands as other users

-Specifying a header of SUDO or adding a :sudo with either user id, or username of the user will set the current_user to be that user if your identifying private_token/PRIVATE_TOKEN is an administrator token
Some of the requested updates, rebase on master

Change-Id: I305266fe9acbbb5136adeeb52e7e4e1d6629a30a
Style guide fixes (spacing)

Change-Id: I966bfd0ccc4b05925384ecab8c6cbe3c6ba3b667
make public/private setting for project creation configurable