refactoring for hashset
primitive hashset implementation
add some preliminary tests to array
finish up slice tests and fixes
add tests for iteration tools
tests for element presence
redecided on the interface: when something is not present, should be undefined, since that is what undefined is for
merged in the branches