Application form ajax

Makes a background ajax submit on a timer after changes so it submits the form, saving all the data transparently to the user. Also includes a couple minor bug fixes.
On Mon, Aug 18, 2014 at 04:12:24PM -0700, Brian Sadler wrote:
> Hmm, my initial reaction is that we should save every time they leave a field and move to the next one.

That is what it is doing, every time they change a field (the on change event) it triggers this thing and the timer is just for cases when they edit a lot of them very rapidly.

For example, if someone checked a whole row of checkboxes it could cause too many http requests in a short time (there's a limit of only like 6 active at any time enforced by the browser!). So the timer batches up all the changes made over the next five seconds and sends them all at once.