Insert hidden name=value input after button, not inside of it

jQuery's .append() method inserts the given node within each element,
after all other elements contained within it.  This means that
$this.append( jQuery('<input/>', ... )) effectively attempts to produce:

  <input type="submit">
    <input type="hidden" />
  </input>

Most browsers correctly interpreted this somewhat bogus jQuery
modification, and included the new hidden form element in the
submission; IE9 and IE10 do not.  As such, many pages failed to update
when the submit button was pressed, as the button's value was not seen
on the new page load.

Use .after(), which correctly appends the value after the existing
element, not within it.
Merge branch '4.2/ie-submit-button' into 4.2-trunk