For #635: Data migration

Philosophy:

- for now we don't change the database format
- upon publishing or upgrading form definitions, embed migration information
- upon read/write of form data, convert to/from new format

Changes:

- migration functions
  - gather migration map for a form definition
  - based on migration map, convert data between formats
  - unit tests
- Form Builder
  - store migration map into metadata upon publish when needed
- Form Runner Home
  - also store migration map upon upgrading
- Form Runner persistence
  - convert data upon reading when needed
  - convert data upon writing when needed
- form-to-xbl.xsl places id and ref on bind
- code to find model/body element works on section templates
- add XMLNames
- rename .qname -> .uriQualifiedName
- fix byId() in case there is no native map
- newConfiguration uses global DocumentNumberAllocator
  - Saxon checks this on occasion and we just hit a case
  - hoping there is no big drawback having a global allocator
- add extractAsMutableDocument()
- indentation