Prevent duplicate submissions on client side by disabling submit button

[TIM-397](https://edx-wiki.atlassian.net/browse/TIM-397)

* Disables submission button when the user clicks it, to discourage multiple submissions.
* When the server reports a "duplicate submission" error, move to the next step, so users don't get stuck at the submission step.
* If an error occurs, re-enable the submission button so users can resubmit.

@stephensanchez @jrbl