prevent double form submit by disabling buttons

Users have time to double click submit buttons and
submit forms twice. This change disables submit buttons
when a form is submitted. However, input is disabled
a little bit earlier and browser wouldn't send its
name/value pair to the server, so we add a hidden
input.
Merge branch '4.2/disable-submit-buttons-on-submit'