file-format: rewrite save() to use a new XML-based file format

a file format that I just made up
file-format: writeMap() use tags to indicate where new rows start
file-format: ability to read in history arrays from xml
file-format: complete XML load implementation
file-format: fix a bug in XML_Helper
file-format: use Boolean.toString rather than hardcoding "true"/"false"
file-format: move taxRate and budget levels from <misc> to <budget>
file-format: check gameLevel against range when reading from xml
file-format: markup history with <shortTerm> and <longTerm>
file-format: save/restore the "noDisasters" option
file-format: keep misc sanity checks in place
file-format: move timing information into <cityTime> child element
file-format: do not synthesize compatibility bits

since there's no software we need to be compatible with
file-format: use tile names instead of numbers (write only)
file-format: use tile names instead of numbers (load)

in addition, use :pwr suffix for any tile where the PWR bit is set
file-format: throw an exception if an unrecognized tile id is seen
MakeTiles: use an XML format for the tiles index

this will allow me to more easily add features (like animation)
without evolving into a hard-to-parse custom file format
tile-names: teach GUI how to load images for dyn-numbered tiles

(this only handles the main view, it does not do anything for the overlay view)
MakeTiles: change format of tiles.idx (preparing for future capability)
TileImages: allow loading a named tiles pack...

and make the overlay map use the 'sm' mapping