More debug logging for caching and XBL definitions
For #1143: handle buttons and optional elements

- buttons bar is now built with XForms and doesn't statically depend on the mode
- clear and refresh buttons now use fr:process-button and processes
- fr:process-button supports AVT as button name
- Bootstrap overrides to handle buttons appearances
- xxv:external-events doesn't depend on mode
- show/hide dynamically based on mode
  - language selector,
  - noscript selector
  - goto content
  - status icons
  - explanation
Capitalize SQL keywords
Refactor: use variables in bind

See also #1701
Minor: rename class in comments
Remove oxf.xforms.readonly property

- this property is unused and undocumented
For #1143: Dynamic global properties

- move some XFCD code to Scala
- refactor properties code
- move binds variable resolver to model
- support global AVT properties
  - static state stores value or CompiledExpression
  - dynamic state evaluates once and memoizes
  - noscript, encrypt-item-values only used by handlers/Ajax
- these properties can be AVTs
  - xxf:readonly-appearance
  - xxf:nocript
  - xxf:order
  - xxf:encrypt-item-values
  - more could be in the future
- property() function
  - move to Scala
  - handle dynamic properties
- template stored statically
  - if noscript-support == true
  - and noscript-template == "static"
- oxf.xforms.noscript-support defaults to false
- itemset encoding
  - don't encode items when creating itemset
  - instead encode in handlers/Ajax
- FR: use dynamic properties
- NOTE: noscript mode is still determined statically.
For #1694: comments, consistent quotes