Better control over IAP verification / Deferred payment state

There are two main reasons why SSV should be more customizable in SOOMLA: a) what if SOOMLA's verification server suffers downtime? It is very scary to not have control over the server used to verify IAP, and b) if all apps use the same validation solution, it is much easier to hack around it.

There are 3 elements of this pull request:

1) Adds a new property to SoomlaStore "customVerificationClass" which is a Class that must extend SoomlaVerification and override verifyData.  If SSV is set to true, it will first check if this variable is set and create an instance of that Class, otherwise, it will use SoomlaVerification.

2) Since verification HTTP requests can fail due to a variety of reasons, the first step in buyInMarketWithMarketItem: checks the transaction queue for any completed purchases of the same product ID before creating a new transaction.

3) iOS introduced Family Sharing which has a new payment state for parental approval.  This PR adds new events for this state and fires them appropriately in  paymentQueue:updatedTransactions: