Add Compose object
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

jdmcbr/toolz,berrytj/toolz,simudream/toolz,llllllllll/toolz,quantopian/toolz,jcrist/toolz,obmarg/toolz,bartvm/toolz,karansag/toolz,quantopian/toolz,jdmcbr/toolz,berrytj/toolz,pombredanne/toolz,jcrist/toolz,cpcloud/toolz,obmarg/toolz,cpcloud/toolz,pombredanne/toolz,bartvm/toolz,machinelearningdeveloper/toolz,karansag/toolz,llllllllll/toolz,simudream/toolz,whilo/toolz,whilo/toolz,machinelearningdeveloper/toolz