Add the public interface of the CardMatchingGame class

initWithCardCount:usingDeck: is our designated initializer for which we specify the number of cards we want to play with and the card deck to use.
flipCardAtIndex: flips a card at a specified index.
cardAtIndex: returns a card that can be used for displaying the UI for example.
score is a readonly propriety that internally keeps the score.
Add a private propriety to store the cards for our game and use lazy instantiation
Add a private readwrite counterpart for our score propriety
Implement the designated initializer for the CardMatchingGame class

Since the default initializer does not make sense, we overwrite it and return nil.
Add implementation for the cardAtIndex method