perf($q): move Deferred and Promise methods to prototypes
perf($q): move Deferred and Promise methods to prototypes

NOTE: Deferred doesn't get all the advantages of moving methods to the prototype,
since the constructor binds instance methods to "this" to support unbounded execution.

Closes #8300

ggershoni/angular.js,ggershoni/angular.js,ggershoni/angular.js,ggershoni/angular.js