- Added fix for notification BAD_ACCESS

Also, take a quick look at 

```objc
- (void)failedTransaction:(SKPaymentTransaction *)transaction
{
    if (transaction.error.code != SKErrorPaymentCancelled)
    {
        // error!
        [self finishTransaction:transaction wasSuccessful:NO];
    }
    else
    {
        // this is fine, the user just cancelled, so don’t notify
        [self finishTransaction:transaction wasSuccessful:NO];
        [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
    }
}
```

I think the line <code>[[SKPaymentQueue defaultQueue] finishTransaction:transaction];</code> can be removed as it gets hit in the method called in the line before it. I didn't want to take it out in this pull request in case there was something I didn't know and it needs to be hit twice.

-Matt