Major changes to Tracker interface, keep stack of nested activities

Major changes to Tracker interface, keep stack of nested activities.
Tracker keeps track of nested activities per thread. Activities get on
and off the stack when start/stop gets called respectively. Added more
methods to Tracker to deal with nested activities.