Refactor STPTestPaymentAuthorizationViewController to be more fully-featured

This updates both STPTestPaymentAuthorizationViewController to more closely resemble PKPaymentAuthorizationViewController and makes the example app somewhat more powerful/realistic.

@raycmorgan - we should go through this and make sure if it works similarly to PKPaymentAuthorizationViewController. I'm specifically curious about when `controller:didSelectShippingAddress` gets called, and thus how the initial array of `paymentSummaryItems` gets populated.
It's a small nit, but could lead to a crash for developers who aren't expecting `NULL` to be returned from `CFDictionaryGetValue(address, kABPersonAddressStreetKey)`