0.3.4
- added with_prev()
- added iterable()
- support iterators in walk*(), select*(), empty() and project()
- reexport itertools.chain()
- faster curry
- more docs

0.3.3
- added compact(), i?reductions()
- added default argument to @ignore()
- added tap() experimental debug utility
- @make_lookuper() now works on functions with arguments
- exposed ilen() publicly
- added default argument to @ignore()
- fix: join() and merge() now correctly fail when receive [None, ...]
- better docs
Backward incompatible changes:
- renamed @memoize.lookup() to @make_lookuper()

0.3.2
- added ilen()
- added some object helpers: namespace base class and @cached_property
- more docs

0.3.1
- added @memoize.lookup()
- more and better docs
Backward incompatible changes:
- removed generator based @decorator version
- pluck() now accepts key as first parameter

0.3.0
- partial docs
- added where(), pluck() and invoke() inspired by underscore
- added split_by()
- second() made public
- reexport itertools.cycle()
- walk() and select() work with strings now
Backward incompatible changes:
- renamed groupby() to group_by()
- separated split_at() from split()
- automatically unpack one-element tuples returned from re_*()
- join() now returns None on empty input instead of TypeError
- made fallback() accept multiple arguments
Bugfixes:
- fixed join() swallowing first coll from iterator of colls

0.2.1
- one argument keep()
- fallback() flow

0.2
- added curry() to funcs
- added re_test(), re_tester() and re_finder() to strings
- added second() to seqs
- added one() and one_fn() to colls and funcolls
- support defaultdicts in walk*(), select*(), project(), empty()
- one argument and uncallable default in iffy()
