Provide a module with validation exceptions

This introduces a new module for switching the validation scheme. Instead of
using the is_valid() function that returns a boolean a validate() function
either returns the sanitised number or raises an exception that should
indicate the kind of validation failure.

This should make it easier for applications calling this library to present
more informative messages to the user.
Raise a proper exception if cleaning fails
Implement validate() for EAN
Implement validate() for ISBN
Implement validate() for the Luhn algorithms
Implement validate() for the Verhoeff checksum
Implement validate() for ISO 7064 algorithms
Implement validate() for IMEI numbers
Implement validate() for IMSI
Implement validate() for GRid numbers
Implement validate() for IBAN
Implement validate() for ISAN
Implement validate() for ISIL
Implement validate() for ISMN
Implement validate() for ISSN
Implement validate() for MEID
Implement validate() for Dutch numbers
Implement validate() for French numbers
Implement validate() for Romanian numbers
Implement validate() for Austrian numbers