added obvious missing clear()
Added "fractal_hills" scenario.
Added some assertions, fixed a bug (apparently?)

I had a segfault/assertion failure (depending on
   if DPARANOID), and doing this caused it to not
   happen, although I thought what I was doing was
   functionally only adding assertions.
Tweaked fractal_hills, added lakes
Removed no-longer-necessary hack
Standardized laser length into one constant
increased type safety
forbade constructing buildings in midair
Tweaked arrows to be more visible.
Made laser target marker scale with distance
Made "what you're building" wireframe include arrows

As a side effect, changed it to use the actual
   color of the building.
Made refinery output arrows more readable from ground
Drew wireframes on objects to be affected by clicks.
Switched to a spherical view range

I did this in a slightly hacky/lazy way:
The tile search has been properly converted to a
   sphere search, but the block-realization and
   object-search code just use a cube and then
   discard any objects outside the sphere.
Removed (often annoying/useless) starting autorobot
Switched mode keys so they're near each other

instead of being scattered across the keyboard.

I kept rockets separate because they're a hacky debug
   feature, basically, not a regular mode.
Changed "rockets" description.
typedefed cubic meters
Implemented deconstrucing objects.
properly noted that deconstructing now exists