Accept a counter (in [0..N) for some hard-coded N) in the redemption attempt
To allow for the signing of larger batches of tokens, the redemption protocol will change to look like this:
POST /v1/redeem
{"voucher": ..., "tokens": [...], "counter": N}
The response will look the same as it does now. Behavior will differ in that N
will be allowed to be an integer between 0 and some fixed/configurable upper bound. Redemption of a particular voucher is allowed it has never been attempted with the given counter value before or if it has been and that previous attempt has a fingerprint matching the fingerprint for this attempt.
As a first step towards this, accept the counter value in redemption requests. To avoid breaking protocol compatibility, it should be optional and default to 0.