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.
Mainly because this is dual purpose and based on pre-existing code. That said this might be something that can be factored out depending on the SPA side.