Move Promise to lib, reduce to es6 only. when.js creates full-featured promise internally
Move unfold-test to generate-test, add stub for iterate tests
Add try and lift to core.
Slim array decorator, go with reduce/reduceRight over fold* for now. Make compatible with arraylikes and functor/foldable. Clean up unfold and fix iterate.