add self-test and build automated testing process
Merge pull request #21 from andrewleo/master

add self-test and build automated testing process