Update annotations in RevisionView

Also introduces a new interface, RevisionCreatorHack.  Basically
you can't define an 'abstract static function' as it doesn't mean
anything. To have a statically accessible but un-implemented
method in an abstract class it must be defined via an interface which
php will then enforce on child classes.

Change-Id: I149f33cdb7d858d2e562b642f06430551b0526d2
Merge "Update annotations in RevisionView"