make co.join() private + refactoring

renamed to `arrayToThunk`. object version is `objectToThunk`.
cleanup tests.
npm test
benchmark: add `thunk object`
add a recursion test

we may probably want to add more later