- Enforce valid parameters.
    Some functions will cause a crash when called with invalid parameters (e.g.
    mifare_classic_authenticate() with a NULL key).
  - MAD and MifareApplication functions are tied to mifare_clasic_* ones and
    some refactoring is required to have a consistent API.