Refactor JobCard component
The JobCard component was getting pretty huge, and a lot of the code there was only relevant when the user was on the JobViewerPage.
This change refactors the app so that the job-viewer-specific code is no longer embedded in JobCard; instead, it's passed in via a slot from the JobViewerPage component. Additionally, the change-info code (mostly markup concerned with how to display info from Gerrit patches) has been extracted into a new component, ChangeDetails.vue.