Rethinking some error messages

- don't need to raise an error when someone resubscribes to an
  idempotent subscription type, but do error for invalid subscriptions