Make PublishAction require ownership & visiblity

Previously, PublishAction allowed reviewers of the draft change to
publish.  Correct functionality should only allow the change owner
to publish.  In addition the change visibility has to be checked,
because a change is not visible to the change owner if the project
state is HIDDEN.

In addition, the behaviour in PublishAction was inconsistent with
the behaviour in ReviewCommand.  This change makes both perform the
same check before publishing.

Change-Id: Ic306ab6a0dd49f23073f198c9dc8e9eaa90ecccc
6 files changed