Removed functionality that can be trivially added on top of simpler constructs (passing objects instead of arrays to map, reduce, filter, etc.; reject is just !filter; until is just !whilst...); taking advantage of more powerful then() in Promises/A+ to reduce code size