write_config: check slot number
Enable debug on -v.
Write classname as prefix in _debug.
Detect YubiKey NEO BETA units.
Fix destructor to not produce warnings.
Fix __repr__ bug.
Implement concept of capabilities.

The introduction of the YubiKey NEO BETA using the same USB product id,
but only supporting a subset of the functionality of a YubiKey with the
same version meant we needed a more powerful way to determine which
YubiKey can do what.

With classes deriving from the new YubiKeyCapabilities() this is now
possible, and should give us greater flexibility in the future.

Change also adds some other things, such as a separate exception class
raised when a YubiKey cannot do what is asked, and model/description
data on the YubiKey object classes.
Add checking of YubiKey model to the ticket/config/extended flags.
Fix some bugs my refactoring caused.