1. make code neater
2. function specific for initial log and pool
3. new override-able function "finishup(task)" will be called when a task has finished
4. synchronized start time for both logging and for file name
5. better strTime(), support various format
better way for deciding log folder and name
1. use string formatter to stylize output message.
2. fix output file extension bug
3. now maintain the list for tasks with err
test symlink