make sure we close and free appropriately, also close if there is an error on set
Merge branch 'free-close-race'
update to the latest gen_server2
conflict
Merge pull request #4 from twonds/path-merge

Race condition and updated gen_server2