Illegible account numbers are not valid

This works around a potential issue that could arise due to the integer
coercion that happens in the checksum. Since '?'.to_i is 0, an account
number string like '?00000051' would pass checksum (since '000000051' is
valid). Now, if the account number string contains a '?', then we
short-circuit and return false before the checksum is computed.