Golog Examples: added traffic lights.
TORCS: once again tried to fix gear thrashing.

Now the weighted average rpm over time is compared to lower/upper bounds
for shifting.
Golog Examples: started Wumpus world.
Golog: atoms are now (Sit a -> a), fixed Nondet [] bug, ifThenElseA

* Originally there was a type Atom with three constructors, Prim, PrimF,
  Test. Test was dropped; test actions are now simulated in the BATs.
  Now we also dropped Prim, which are represented just as const PrimFs,
  and the additional type Atom could be dropped, too.
  Briefly said, the new atoms are functions (Sit a -> a).
* The atomic if-then-else and while construct now works properly.
  There's a small unit test for that.
* Program execution stopped when an empty Nondet was encountered.
  Among others, this could happen in Util.mergeAtomic if no
  decompositions are possible. This case is now handled properly in
  Golog.ast.
* An alternative way to fix that for the Util.mergeAtomic case, btw, is
  to add noop actions to each branch. But the new function just checks
  if the decompositions are empty, in which case only the test action
  is returned. I kept the noop as a new member of the TestAction class
  (with default action test (const True)) anyway.