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).
Is there any stl stuff we can do here to make this less awkward? Given that we're on ancient c++