traffic: promote Traffic structure to stand-alone class
misc: TrafficGen2 changes
traffic: makeTraffic- for each zone, generate four separate traffic routes

Traffic routes generated:
 * RES zones will generate traffic to COM zones
 * COM zones will generate traffic to IND zones
 * COM and IND zones will generate traffic to RES zones (for workers)

Later on we might also generate traffic for Stadiums, and special zones that
need employees.

Traffic is stored using the Traffic data type and the Micropolis class
takes care of updating the traffic density map.
traffic: tie growth of zones to traffic/wage metrics
traffic: remember traffic modifier even on cycles when traffic not generated
traffic: new method of finding place of worst traffic
tiles: isOverWater should include plain water tiles
traffic: route around bad congestion, use railroads, don't walk on water
traffic: add directional constants to Traffic class
traffic: implement TrafficGen2.parsePath

This is not used now, but it should be useful once the new save-file
format is implemented.
traffic: more disciplined fitness function
traffic: allow starting for free from anywhere in the initial building

i.e. no longer add cost of walking from center to perimeter of zone
traffic: treat center of ending zone same as perimeter of ending zone
traffic: perimeter-discount should handle partly-deconstructed zones

if a 3x3 zone was partly bulldozed and a road was inserted,
do not count that road tile as part of the zone for the purposes
of finding the zone perimeter. I.e. the sim still has to pay the cost
of walking from the road tile onto a zone tile.
traffic: make explicit that COM supplies 2x RES
traffic: fix setStartZone to preserve path
traffic: with few RES, do not look for nearby COM zones

only look for COM zones once a few RES zones are populated
traffic: move pathAsString() to Traffic class
debug- function to dump zone connections
debug: show price points on main map display