Add freefare.DESFireTag.ChangeKeySettings()
Major refactoring: Make Tag an interface type

This commit changes Tag into an interface type. This makes all of the code much
cleaner, easier, and avoids the problem of people not passing tags correctly.
Add freefare.Tag.Pointer() method for interoperability
Update package comment