Add wait-to-finish for SPA (bug 1024451)

This branch adds a wait-to-finish view that serves the SPA. This is so we can catch the callback from the provider post-payment and do the final stages before completion.

The tests are mostly a duplicate of the pre-existing provider wait-to-finish ones. This helps to catch any issues when removing code after we've switched over to the SPA.
This isn't going to be needed long term.