add join

This is ugly and likely inefficient.  Help.
split out different joins into different classes

I'm not sure that this is worth it
single join class with single __next__
remove loose __iter__
add join to __init__.pxd
Merge branch 'master' into join

Conflicts:
	cytoolz/itertoolz.pyx
	cytoolz/tests/test_itertoolz.py
Merge pull request #31 from mrocklin/join

add join