Remove unmaintained Tamino support
Bookshelf form: change root element name for FB consistency

All forms created with Form Builder use "form".
Fix #1586 "New permission must allow sending email"
Use class, fixes strength of rule in FB dialogs
Fix #1597 "fr:box-select is not displayed correctly in PDF"
Minor: parametrize, support Option
Whitespace stripping: fix variables and XPath actions
Wider Actions Editor so hints don't wrap

- use same width as Control Settings
Fix #1583 "NPE inserting iteration in grid within repeated section"

Fixed this by detecting cycles better. What was happening:

- we were detecting cycles, but a bit too late
- this means that we could get into a case where in case of a delete, we would attempt a deletion in the original instance
- the attempted deletion would fail because the mirror listener couldn't find the node
- the  mirror listener would then return false, so the other listeners would run
- so we fell into the case where the change was marked as "unknown change", causing a recreation of the static tree under xxf:dynamic
- because the state changed, and we were in the middle of an XForms action, the static/dynamic trees were out of sync
- hence the NPE when the prefixed id couldn't be found

Now we try to simply detect whether, between reciprocal listeners, one is called as a result of another one being called.
Minor: remove unneeded hint
Minor: refactor