Preliminary YubiKey NEO NDEF writing support.
Implement proper encoding of NDEF text messages.
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.
init
Merge branch 'feature/yubikey_neo_support'
Store status information in it's own class.

This breaks backwards compatibility in that it changes the returned
result of the 'YK.status()' function.

Old :

  flags = YK.status()

New :

  flags = YK.status().flags

Add function YK.status().valid_configs() to see what slots are
configured with a valid configuration (requires firmware >= 2.1).
Implement 2.3 functionality.
Add have_nfc_ndef.
Remove no-op destructor.
Add 2012 to Copyright years.
init, copy from python-pyhsm
Prepare version 1.1.0.