Don't save the tid in the DynValue and DynBB

We can infer it from trace[index].tid. We previously added the thread id
because we're not sure we can get the trace[index].tid all the time,
e.g. when the index is not quite available, or the trace[] is not
visible in DynValue and DynBB. Actually if the index is not available,
the tid will not be available either. And we only use the tid at the
TraceFile.cpp where the trace[] is always visible.
Compare the thread id for get call for formal arg
Fix the bug of increase/decrease nesting level

At the findNextedestedID function, we should increase the nesting when
we find we're in a basic block (leaving); and every time we find one
matched ID, we should decrease the nesting if it's not zero.
Compare the thread id when find next nested ID
Refine the slicing criteria of pca test
Fix a bug of kmeans directory for clean target
Merge the instrument load/stores with runOnBB

The public member function instrumentLoadStores of TracingNoGiri() is
not needed since all of its contens are very simple and should be
inlined at runOnBasicBlock() function. This makes the code clearn.
Instrument lock or unlock coarsely for records

We previously add the lock in the addEntryCache function, which can not
guarantee the load/store sequence. Now we rely the coarse lock to make
it possible.