3.0 FormHelper submit

Part of #2267. When the tests for this method were re-enabled the method was not cleaned up and made consistent with other parts of the helper. These changes help address that and make the submit() method use templates like other parts of FormHelper.