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 unused fields from a db query in salesforce_p2p.
 - Added a status column to the personal campaign actions table so that actions won't be visible until the donation is successful. For webform_user actions, the action is immediately visible.

New status column. Copied the definition from node_schema().