When the "pin job" button is selected in the job panel the following error is generated.

```Error: [$rootScope:inprog] $apply already in progress
http://errors.angularjs.org/1.2.1/$rootScope/inprog?p0=%24apply
minErr/<@http://treeherder-dev.allizom.org/ui/vendor/angular/angular.js:78
beginPhase@http://treeherder-dev.allizom.org/ui/vendor/angular/angular.js:11878
$RootScopeProvider/this.$get</Scope.prototype.$apply@http://treeherder-dev.allizom.org/ui/vendor/angular/angular.js:11675
api.pinJob@http://treeherder-dev.allizom.org/ui/js/services/pinboard.js:33
PinboardCtrl/$scope.pinJob@http://treeherder-dev.allizom.org/ui/plugins/pinboard.js:11...```

This appears to be generated when calling ``$apply()`` with no args. According to this, http://www.benlesh.com/2013/08/angularjs-watch-digest-and-apply-oh-my.html, ``$apply()`` is a wrapper around ``$rootScope.$digest`` so you might as well just call digest. This seems inefficient if all we need is to pin the job. Could we use events instead? or call a controller method that has access to the scope required?