Ensure that requesting version <= 0 doesn't
cause a runtime out of bounds dereference,
with a simple validation and accompanying tests
to ensure we never regress.
Since GetOp allows int64, it is fair game
that it should except out of range inputs,
plus this is an SDK so is bound to be abused
both unintentionally and intentionally.
Fixes#400