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).
Well the "SetToDownload" name is a leftover from the previous oracle, when each set was downloaded separately; now a better name would be "SetToImport". The class itself is used as a temporary place to save sets data loaded from AllSets.json, and present them to the user that will choose which sets to import.