train-sprite: use constants
tiles.rc: dynamically determine number of tiles
tiles: keep a mapping of tile names to the tile spec
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
LOMASK: adjust to allow more tiles to be defined
new-rails: define 3x3 section of tiles for a curved rail
new-rails: impl a tool for building a curved rail
new-rails: use dirt graphics for unused tiles of curved rail