Partial improvement for forms

Partial improvement for paged form handling (submit button, validations
etc.).
Starting point for similar functionality for bootstrap tabs.

Also trying to get ToolTip error messages showing in bootstrap forms.
Change default error icon to a standard JUI icon
Use Prev instead of Previous
Second partial fix

This is a commit of a partial solution for testing. This fix makes the
error display and submit buttons work correctly (at least on F3.1b on
bootstrap templates).

To Do:
1. Fix repeat group duplication with events.
2. Apply same page validation and button enabling to bootstrap tab
templates.
3. Do bootstrap validation tooltips if decided to have these.
4. Fade effects for page and field shows / hides if desired.
5. Change button classes with pagination i.e. primary button is Next
until last page. Apply bootstrap classes to other buttons.
6. Tidy up
Fix spinner for multiple simultaneous validations

An element can have multiple validation events which will run
simultaneously. Each will put a spinner onto the element.

This code tracks starts and stops and makes spinner work correctly.
Add Saving spinner text and ...
Adjust dbjoin validation events
Improve several js files

Form and element adjusted to use improved spinner.
Autocomplete-bootstrap improved caching, implement predictive text,
reduced event handling
Form single field ajax validation moved to Element to prevent hung
spinners when tabbing rapidly causes simultaneous validations.

To Do:
1. Test CDD autocomplete.
2. Complete form.js to handle repeat group cloning correctly, and
provide same page validations and button enabling for tabbed forms.
3. Refactor calc, date, password to do manual validation calls
direct within element.
4. Refactor elements like date and dbjoin where (raw) field is hidden
and non-raw UI field is shown to user.
Temp commit of form.js
Fix calc spinner
Fix type in form.php
Change tab ids to match JS pages.
Temp
Temp commit of form.js
Separate form.js methods into sections