Refactor blob editor UI into vue components
During development for https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9782, the design grew in complexity, but several requests were pushed off to a later release because they'd be difficult to add to the existing architecture before the feature freeze. Refactoring the Create and Edit blob pages to Vue components would make complex UI states much easier to manage.
This will also allow us to better decouple the logic for file templates and issuable templates and remove duplicate logic from TemplateSelector
.