Refactoring and adding tests. Added `map` function as well
Renaming test file and locking down test dependencies
Beefed up tests a bit, found a bug in underscore'