Add different compare methods for sorting

Give DeckList nodes the ability to sort based on name, price, or
number.
Allow sorting on different columns
Sort correctly when adding cards
Fix GUI glitches when adding cards to a deck

Since we no longer sort on just card names, we need to emit updates
for the parent of the card we add.
Clean up DecklistModel::addCard()

Split common functionality out of the if-else block.