Adding Joker cards. Now we have to use a visitor in order to handle
different ICard sub-types.

Added new Deck factory methods to generate decks with or without jokers