WIP: Improve discussions feature attempt 1 ee

What does this MR do?

EE port of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10648

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Merge request reports