Fix lazy evaluation unbounded trace growth

Add ```lazy_evaluation``` configuration option (default: on)
Add ```lazy_max_trace_length``` configuration option
Postpone the allocation of temporary Dats until data is accessed.
Add support functions for trace management.