Add curry function

Curry takes a function and returns a new function that takes the
arguments of the original function one at a time. If the curried
function is a built-in function or method then the number of arguments
it takes must be passed to curry.

example:
	>>> def add3(a,b,c):
	...	return a+b+c
	...
	>>> f=curry(add3)
	>>> f(1)(2)(3)
	6
	>>> # since add is built-in
	... # we need to pass the number
	... # of arguments it takes
	...
	>>> f=curry(operator.add,2)
	>>> f(1)(2)
	3