Add Compose object

Previously we stored the composed functions as a closure within a
compose function.  Even good pickling utilities have difficulty with
this.  This creates a Compose object that holds onto the functions a
little bit more transparently.

Conflicts:

	toolz/functoolz/core.py
count checks for `__len__` attribute
redirect Compose docstring to compose
move merge_with to curried_exceptions file

This naming is necessary to support clean serialization
test Compose serialization
test curry can be serialized
pep8
add multiprocessing test
escape multiprocessing error if not supported
curried.merge_with.__doc__ is same as normal
Merge pull request #115 from mrocklin/serialization

Serialization