Sets handling improvements

This PR includes misc improvements to sets handling:
 1. "TK" has been unified as a static CardDatabase member for better readability;
 2. oracle always adds a "TK" set with a proper description; 
 3. oracle now saves to cards.xml two additional fields: set type and set release date;
 4. the "edit sets" dialog shows these new fields as new columns;
 4. the "edit sets" dialog is sortable;
 5. the "edit sets" dialog has 2 new buttons to save the current shown sets order as the default sets order;

Additional changes that could be needed:
 a. update the value of CardDatabase::versionNeeded since the card database has new fields and old client could worry about it;
 b. when the "edit sets" dialog is closed, invalidate every existing card's cached picture to ensure the picture from the preferred sets is shown (even if previously a card picture had already been cached).
I agree, this part of the code is quite shitty. We are querying each row in the model for their sortKey value, using it to get the *set from the sets database, then asking *set to update its sortKey to the new value.
I'd like to find a better way, too..