JIN-27 Allow submitting to a function.

First implementation + some tests.
Simplify the code for submit functions and add documentation.
Merged id processing from master.

Now id is exposed as an option elementId.
Bug where it wasn't sent is also fixed.
Now we use a separate option for the submit function.

Just make the current code the default value of this function.
Merged from master (again!?).
Tidy up that last merge commit.
Update documentation, since we are not overloading url as
a submit function any more.
Protect the submit function from a thrown exception.

If an exception is thrown the edit is cancelled.
Also implemented a cancel when the function just
returns undefined.

Remove test for strict mode. This is just a test
of the browser implementing it properly and on
Android 4 it doesn't work how I expect. Thats nothing
to do with our code though.
Add a loadFunction for loadurl.

The signature of submitFunction is changed so that the options are first.
This makes the two functions have compatible signatures and the same
function can potentially be used with having to type test arguments.

Update doc for the change to the submit arguments.
Use submit/loadFunction for the demo.

Replace the code that overrides the $.ajax() function with the loadFunction/submitFunction
configuration options.
The two clean tasks were conflicting.

Now there is tidy and clobber as the subtasks.