Refactor dispatcher sessions path (EE Version)
What does this MR do?
EE Version of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16362
Are there points in the code the reviewer needs to double check?
None
Why was this MR needed?
CE => EE
Screenshots (if relevant)
None
Does this MR meet the acceptance criteria?
- 
Changelog entry added, if necessary 
- 
Documentation created/updated 
- 
API support added 
- 
Tests added for this feature/bug 
- Review
- 
Has been reviewed by UX 
- 
Has been reviewed by Frontend 
- 
Has been reviewed by Backend 
- 
Has been reviewed by Database 
 
- 
- 
Conform by the merge request performance guides 
- 
Conform by the style guides 
- 
Squashed related commits together 
- 
Internationalization required/considered 
- 
If paid feature, have we considered GitLab.com plan and how it works for groups and is there a design for promoting it to users who aren't on the correct plan 
What are the relevant issue numbers?
Edited  by Clement Ho