Added `partition` and `partition_all`

Also changed generated type of `partitionby` to tuple.

See #40
oops, python 3 support
Modified docstring of `partition_all` to @mrocklin's suggestion in #65
100% coverage.  Changed travis.yml to require 100% coverage to pass.

We don't need to keep the 100% coverage requirement, but I do want to test it.
Also removed `functoolz.hashable` because it wasn't being used.
Coverage requirement worked!  Now check failing test.
Another coverage test with intentional failure.
Now test success
Test commands in travis.yml are more clear.
Merge branch 'master' into with_coverage
Merge pull request #71 from mrocklin/count

add count
Merge pull request #73 from mrocklin/merge-with-no-inputs

merge_with raises err on no inputs
bump version to 0.4.0
Merge branch 'master' into with_coverage
Don't require 100% coverage for pypy.
not pypy
Also look for 0 missed lines, not just 100%.
Make `remove` lazy

Fixes #77
Add compatible filter to test_core
Restore filter for test_remove rather than generator expression
Merge remote-tracking branch 'upstream/master' into lazy-remove

Conflicts:
	toolz/itertoolz/tests/test_core.py