P2P donations not counting towards personal campaign progress when using Paypal IPN

This moves around the saving of the personal campaign action to accommodate some gateways not invoking the donation post submit hook with enough context.

 - The personal campaign action is now saved in the submit callback regardless of its type, which makes the donation post create save no longer needed.
 - The donation success hook is used instead of donation post submit. It looks up the previously saved record and adds the donation amount to that and to the personal campaign progress.
 - Removed ununsed fields from a db query in salesforce_p2p.
Do we still need this? It only puts p2p_pcid on $donation now since the record gets saved in the form submit callback.