Removed redudent code. Introduced the concept of TrackedAtoms to deal with rewrite cycles.
Added debugging code to rewrite cycle detection. Removed dead code.
Added variable to control whether to use TrackedAtom's history feature.
Documented TrackedAtom
Added property to control whether to use TrackedAtom history.