Remove the initialize and checkType from Giri

These two functions were previously designed for the invariant debugging
purpose. Now they're useless.
Add first level header for the README file
Add lock for the closeCacheFile at runtime.

We move the local mutex of the addToEntryCache() function to the member
of the EntryCache class. Everytime we would like to modify the entry
cache, we should lock this mutex first, including addToEntryCache and
closeCacheFile. This should be followed when we add more functions to
EntryCache class in the future.
Refine the coding style of the runtime

Reorder the function definition and add some comments.
Set the matrix size 4
Ignore the matrix output files
Output the opt command arguments
Refine the coding styles of the LoadStoreNumbering

We renamed the variables and moved the inlined member functions to the
header files. Also add const to the IDMap, which is an ordered_map now.
Add test 17 for llvm.memcpy
Set the default debug flag to be giri

The debug type of giriutils will not be dumped be default anymore.
Refine the output format of the trace printer
Use the inst number as slicing criterion of test17

The instruction is the `call llvm.memcpy(...)`.
View the printed trace file since they're too long