EE port of "Improve Project API"
What does this MR do?
EE version of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/28327 - a Community contribution
EE version of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/28327 - a Community contribution