add decoding support in lib/request@parse_dom AND add some caching mechanism to lib/Url
add a stub extractor for www.d586.com
chapter downloading: auto restart when an error occurs while fetching dom
www.d586.com: extractor now could find title of chapter
simplify library loading in main script
refactoring: clear function naming
rename Counter to Semaphore
refine lib/Semaphore
minor tweak on Makefile
feature: save/load  index to intermediate file/stdio
improve help message
convert to a 3-step method for dom handing.

1) from domain and an action to be executed in dom we build a dom object
2) provide input url and callback to spawn possible multiple jobs from that dom object
3) finally run the spawned jobs, this defered process can be used to accumulate dom tasks.
enable phantomjs dom worker: (currently only support extractors)
version 0.0.2

* site script format changed, see lib/sites/api.txt
* now support phantomjs as dom engine, need phantomjs being in PATH
* bug fixes