Multi payment issues

Found some strange behavior when retrying payments.  
1. A good payment after a bad one would try to generate a profile for the bad payment which would fail with an exception that would bubble up and make it seem like the good payment had failed.  
2. A bad payment after a good one would mark the good one as invalid. 

These tests/fixes should address them.