Fix payment form resubmission before server response and other payments flow improvements

* Add client-generated timestamp to protect against duplicate form submissions when a user refreshes before any server response is issued (thus the PRG is never triggered)
* Add an alert warning to the payments dialog on submit to guard against page refreshes
* Keep track of failed payments that hit the API endpoint for hold authorization
* Scroll to bottom of header instead of top of payment container on the payment pages to prevent any alert messages from being hidden. 
* Allow refreshing of payment confirmation page to show the message again. If user visits a different page, the confirmation page is inaccessible. 

Non-feature changes:
* The admin notification email is no longer triggered on payment after_create, so that we can save the payment in an uncompleted state to track errors and duplicate payments. This email is now explicitly called in the campaign_controller