Add Irker service configuration options
### What does this MR do?
This MR makes a number of hard-coded Irker parameters configurable in the service settings: Irker server host, port, and default IRC URI. It also removes the "max recipient" limit since the recipient list is configurable only by the project owner, and it makes no sense to update the limit when it is implied in the recipient list already.
### Why was this MR needed?
The existing service assumed that gitlab.com was running an Irker daemon on `localhost` when it was not. Using Irker on gitlab.com thus did not work at all. This MR allows users to provide their own Irker daemons.
### Are there points in the code the reviewer needs to double check?
My main concern is whether allowing a user to specify the server/port combination would have security implications for a host. Given that HipChat and Slack allow users to do this, I didn't think this was doing anything novel.
### What are the relevant issue numbers?
* Closes#1713
* Closes#1714
* Closesgitlab-com/support-forum#139
### Screenshots
### Before

### After

See merge request !930
There were several specs that were failing when run by themselves.
- Use the `helper` object, as per RSpec 3 standards
- Use `assign` to assign instance variables that helpers expect
- Add `StubConfiguration` support module
Fix Error 500 when relative submodule resolves to a namespace that has a different name from its path
### What does this MR do?
This MR fixes a bug in resolving a namespace when the `name` differed from `path`.
### Why was this MR needed?
The original code was using `name`, when the proper input to `namespace_project_path` was `path`.
### What are the relevant issue numbers?
Closes#1849
See merge request !864
Rename abilities to correspond contoller/model action names
write_ was renamed to create_
modify_ was renamed to update_
So now in update action we have next code
```
def create
can?(current_user, :create_issue, @issue)
end
def update
can?(current_user, :update_issue, @issue)
end
```
See merge request !896
Reorder MergeRequestTabs constructor
The tab was being activated before we set the `[commits|diffs]Loaded`
variable, so even when the `/diffs` route is accessed directly, like
from the "Side-by-side" link, the tab was being loaded from its default
source.
Fixes#1887
See merge request !892
write_ was renamed to create_
modify_ was renamed to update_
So now in update action we have next code
def create
can?(current_user, :create_issue, @issue)
end
def update
can?(current_user, :update_issue, @issue)
end
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Add 2FA status to user admin API
This MR adds the `two_factor_enabled` field to the admin's API to indicate whether a given user has enabled 2FA.
See merge request !881