Golog.Interpreter: reward is now associated type of DTBAT class.

The (Reward, Depth) tuple is now everywhere replaced by a type which is
associated type of the DTBAT class.

Reason: Since there are no tests actions anymore in the interpreter
(they can be simulated by a primitive action (Test f) with a function
f :: Sit a -> Bool and definitions
  do_ (Test _) s = s
  poss (Test f) = f s
in the BAT typeclass), counting the depth independently doesn't make any
sense anymore anyway. (In fact with the reward outsourced to the DTBAT
instance, the user can avoid incrementing the depth for test actions
again!)
Restricting the reward to a Double value isn't very nice either.

Alternatively we could have used MultiParamTypeClasses.

The change also led to some nice simplifications in the code (I think
they would have been possible with the old model, too, but I'm not sure
right now):
 * treeDT just composes treeND and resolveDT
 * treeDTIO just composes treeNDIO and resolveDT and uses fmap
   to also apply resolveDT to all sync-actions
 * resolveDT is a new function which simply hands over chooseDT to
   resolve; the old chooseDT is now a sub-function of resolveDT.

The code is still untested; all DTBATs and some more code needs to be
adapted to compile.
Also a unit test should test that treeDTIO works correctly.
Refactored all BATs to use associated type Reward. Plus unit tests.

Successfully tested the code Golog.Interpreter modifications
from the previous commit 7edc66fad04000e99d2b1e5f2516f277ff8554a9.
TORCS: Ackermann drive, bugfixes in simulation.

Ackermann drive replaces ML prediction.
Fixed projection of laser beams.