update git ignore list
exclude searchlist from project temporally.
add doc directory and some docs
add test directory

add test directory, which will hold test cases for classes.
add searchlist test.
add class filelist  test project
add "build" to ignore list
make filelist and searchlist to pass the compile.
update readme; remove searchlist test project

- update readme document.
- remove searchlist test project, use filelist test project instead.