Add test bench
Remove list struct and Use STL list container.

STL list container is used to implement a Response waiting queue.
The linux list api header file has been removed.
For debugging, We add some logging code.

Prints phase transitions and time.