Move exit(1) to Pthread's initializer
Create general List and Entry classes

List is used to maintain the active thread list during the execution.
The order of the list is deterministic.