add set.clone
generalize the memory set tests for future use with other set implementations
use SHA1 from Boost UUID for signatures