Hold exceptions until successfully serialized items have been exported

### Issue

An IntegrationException is thrown when the product, price, or inventory item you are exporting to Sears is missing some required parameter(s). If you attempt a bulk export, the entire operation will fail if any one item is incomplete. 


### Solution
This PR alters the way IntegrationExceptions are handled. Instead of throwing an IntegrationException immediately, the RequestHandler will stash its details in an array and continue processing the rest of the items in the $collection. When every item has been processed, the exception array is json_encoded and returned in one go. In the Client and FakeResponseClient, IntegrationExceptions are held until after the API request has gone through. This means successfully serialized Product/Inventory/Pricing models can still be pushed to Sears, where before they were blocked if any one model had a problem.