tornado: add logic for when tornado runs out of steam

This is code from the original C/C++ release, modified to fix
what I perceived as a bug. After the tornado runs for 200 ticks,
there is a 0.2% chance of termination each tick.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@912 d9718cc8-9f43-0410-858b-315f434eb58c
tools: define size/cost of tool as regular properties of the tool

rather than using a giant switch block to determine size/cost
tools: define default tool colors

so that colors do not need to be explicitly specified every time
a new tool is defined.
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.
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