adding 'duplicate()' to both core and contrib:iterable, closes #29