Gracefully handle SMTP user input errors (e.g. incorrect email addresses) to prevent Sidekiq retries
### What does this MR do?
This MR gracefully handles SMTP input errors (e.g. incorrect or invalid e-mail addresses) to prevent these types of exceptions from causing Sidekiq to retry the task. If these specific exceptions occur, they will be logged, and the e-mail will be dropped from the queue.
### Why was this MR needed?
If you include an author that has a misspelled e-mail address, Sidekiq will keep sending e-mail to all the recipients even if they have already received the e-mail. The only way to recover is to clear the Sidekiq queue.
Note that other exceptions can still be thrown (e.g. `IOError`, `Net::SMTPAuthenticationError`, `Net::SMTPServerBusy`, `Net::SMTPUnknownError`, and `TimeoutError`). If the worker encounters these, Sidekiq should retry the task.
### What are the relevant issue numbers?
Closes https://github.com/gitlabhq/gitlabhq/issues/9560
See merge request !1163
and request them each session. Pass these tokens to the project import data.
This prevents the need to encrypt these tokens and clear them in case they
expire or get revoked.
For example, if you deleted and re-created OAuth2 keys for Bitbucket, you would get
an Error 500 with no way to recover:
```
Started GET "/import/bitbucket/status" for x.x.x.x at 2015-08-07 05:24:10 +0000
Processing by Import::BitbucketController#status as HTML
Completed 500 Internal Server Error in 607ms (ActiveRecord: 2.3ms)
NameError (uninitialized constant Import::BitbucketController::Unauthorized):
app/controllers/import/bitbucket_controller.rb:77:in `rescue in go_to_bitbucket_for_permissions'
app/controllers/import/bitbucket_controller.rb:74:in `go_to_bitbucket_for_permissions'
app/controllers/import/bitbucket_controller.rb:86:in `bitbucket_unauthorized'
```
Closes#1871
I also revamped the tests on "closing reference commits" (= "Fixes #xxxx" for example).
Now, there are two different contexts:
- when the commits with "closing reference" are pushed to the default branch,
- when the commits with "closing reference" are pushed to a non-default branch.
Closesgitlab-org/gitlab-ce#2190.
Fix bug preventing invite by e-mail
This was broken in 70f5291808 as a result of introducing the ability to filter by current user.
Closes#2320
See merge request !1181
Disable internal issue tracker if external tracker in use
### What does this MR do?
This MR disables routes to the internal issue tracker if an external issue tracker (e.g. Redmine) is in use. A 404 page is returned if a user attempts to access any of the issue routes.
### Why was this MR needed?
Enabling the external issue tracker would still keep the internal one active, which would lead to odd behavior where users could create issues but not close them.
### What are the relevant issue numbers?
Closes#2006
See merge request !993
Provide more feedback what went wrong if HipChat service failed test
This MR adds support for displaying the error message during HipChat service test. Before an Error 500 would be displayed with no helpful remarks.
Screenshot:

Issue gitlab-com/support-forum#213
See merge request !1144