- Reader has a new updated regexp to deal with non-numerical collectorNumbers
- CardInSet have been now made sortable based on CollectorNumber.
To do so, collectorNumbers are transformed accordingly to allow for natural ordering (as expected) instead of lexicographic order.
- CardEdition now return cards (CardInSet) as sorted, to allow for correct artIndex matching when creating corresponding `PaperCard` instances.
Moreover, `compareTo` of card edition has been improved to also take into account set name (in cases of same release date).
Hash code now considers collectorNumber, which is retrieved from card edition, if not available. For non existing cards, the edition won't be found (null return) which resulted in a NPE.
This patch addresses this situation.
In future, this method will be removed, and PaperCard created directly with corresponding collectorNumber from CardInSet.
The ArrayList of Cards in a Single edition (that needs to be sorted) will be initalised and sorted **only** once now, directly in the constructor.
CardEdition has no API to change content of Cards in Edition, and the **only** write access to structure happen in the constructor. Therefore, these two structures should not need to be kept aligned.
This extra ArrayList is useful whenever an iteration over all the cards in a set is needed. This iteration will proceed in order, as this might be crucial (esp. for ArtIndex assignment at load time).