issue #26: user can revoke his previously submitted vote

  - implement client side revoke function
  - conditionally label or hide buttons based on user participation