adds test cases; #5
adds options.no_cache to disable caches; #5

optimize performance; fixes a bug if generateMD5 fails;
updates README.md
updates minor version; #5