Load MR squash commit message asynchronously rather than on page load

Problem to solve

After https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26144 the default squash commit message involves batch loading the MR commits from gitaly.

Although the default squash commit message is only needed when the user has expanded the UI to view/edit the squash commit message, the default squash commit message data is loaded within the page request and made available to the frontend via JS (window.gl.mrWidgetData) on the page, in order to initialise the frontend with state. This now adds an extra gitaly request into the MR page, when most of the time the data for the default squash commit message will not be used.

See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26144#note_152427040

Proposal

Move the default_squash_commit_message out of MergeRequestWidgetEntity and instead retrieve it via AJAX when the user expands the UI to view and edit the squash commit message.

Links / references