fix file change detection implementation
create new type StringSet

+implement some sample Set functions
do not recalculate tag data on each iteration