Refactor processing of REVOKED

- ordered processing of REVOKED so that "recommentation" [sic] is honoured
- getHighestVersionOfProduct() used to also filter out all previous versions
  unless --revoked is specified
- this may mean that REVOKED processing is no longer really needed, but should
  handle cases in which the highest update is pulled for some reason