tools: define size/cost of tool as regular properties of the tool

rather than using a giant switch block to determine size/cost

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@913 d9718cc8-9f43-0410-858b-315f434eb58c
tools: define default tool colors

so that colors do not need to be explicitly specified every time
a new tool is defined.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@914 d9718cc8-9f43-0410-858b-315f434eb58c
tools: make translation strings optional for tools

If a translation string is not defined for the tool name, icon name,
or tool description, then an automatic string is generated.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@915 d9718cc8-9f43-0410-858b-315f434eb58c
tiles: add name property to spec
building: let building be defined by named tiles
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