Fix cross-references that contain underscores
### What does this MR do?
Cross-references that contain underscores confuse the Markdown renderer and don't work properly. For example:
1. In `myacct/project_one#456`, add a comment that includes a reference to `myacct/project_two#123`.
2. The comment in `myacct/project_one#456` links correctly.
3. The system note in `myacct/project_two#123` is incorrectly linked as:
`mentioned in issue myacct/projectone#456_`
This MR removes the use of the `_` character in the system notes to prevent Markdown confusion.
See a full discussion in #1160.
### Are there points in the code the reviewer needs to double check?
To preserve backwards compatibility with existing system notes, there is a SQL wildcard match for notes having underscores. This seemed safer than migrating all notes.
### Why was this MR needed?
In an ideal world, the Markdown parser would be able to handle references containing underscores with or without escape sequences. However, there are a number of issues:
1. RedCarpet's parser for emphasis block is pretty dumb: it treats `#` as a word break and thus even the `intra_word_emphasis` flag has no effect.
2. The parser is in C and can't be changed easily.
3. There is no way to insert an escape sequence for emphasis blocks.
The only way around this is to switch to something like CommonMark, which does support escape sequences.
### What are the relevant issue numbers / [Feature requests](http://feedback.gitlab.com/)?
Issue #1160
### Screenshots
Before:

After:

See merge request !385
Fixed rake task gitlab:cleanup:block_removed_ldap_users
Maybe not the most elegant solution, but it works for us.
This closes issue gitlab-org/gitlab-ce#955.
See merge request !338
Only trigger search if search string is present
This is a follow up for !296 to prevent the search function from being executed while the query is nil.
Problem was this:
When the search is called, the search controller gets 2 requests.
```
{"action"=>"show", "controller"=>"search"}
```
and
```
{"utf8"=>"✓",
"search"=>"proj",
"project_id"=>"",
"group_id"=>"",
"snippets"=>"",
"scope"=>"",
"button"=>"",
"action"=>"show",
"controller"=>"search"}
```
Obviously it doesn't make sense to execute the search for the first request, since that one doesn't have a scope or a search string.
Please review this carefully since this modifies the search and may break things i can't think of.
@dzaporozhets While this fixes the root cause for the failing test, I think we should keep your fix in as a failsafe. What do you think of this?
See merge request !302
Remove success signin message by devise
I find it really annoying every time I login into GitLab it shows me
that I successfully signed in. But this makes no sense to me. I already
see dashboard and dont see login screen. Its obvious I signed in
successfully. Instead it just show annyoing message every time taking
part of space on my screen.
See merge request !401