using relative and managed environments

Environments (env) now contain relative time, and are combined with
a "reference date" to form a "managed environment" (menv).
- Expression evaluation uses env and no date;
- simplify uses menv and mcontr, and calls simplify0 which
  works on env and contr (aligning the menv to the contract date)
- a promoteEnv function promotes all fixings in an menv
  (uses promote : env -> int -> env internally)