Added style guide.

I looked around the codebase and wrote down what appeared to be the style conventions in use.
Well I have to admit I'm also a noob at C++ but I've observed that using references everywhere is convenient because it gives us hassle-free null checks.

If `card` is null here, we probably won't notice until later, when `cardsToBeShown` is actually rendered:

```
void showCard(Card *card)
{
    cardsToBeShown.add(card);
}

Card *getCardByName(QString name)
{
    if (cards.contains(name)) {
        return cards.value(name);
    } else {
        return 0;
    }
}

int main()
{
    showCard(getCardByName("whoops I misspelled this"));
}
```

But if we had references instead of pointers then essentially we get free null checks, which helps to catch null pointers early:

```
void showCard(Card &card)
{
    cardsToBeShown.add(card);
}

int main()
{
    // Catch the error here, instead of later at some unspecified time.
    showCard(*getCardByName("whoops I misspelled this"));
}
```