Support CVV with leading zeroes

Support CVV with leading zeroes
Trim whitespace from string values
This implementation of `*OrNull` is a bit different as it has logic to discard corrupted data (e.g. CVV == 'xyz'). I'm not quite comfortable with this. Instead, since the CVV will be a `String` in the Java model, I would simply use `stringOrNull`.