commit the handler when putting on a closed channel (fixes #18)

This fixes alts' at-most-once guarantee being violated when there is an
operation that:
- Attempts to put on a closed channel.
- Is registered after other not-ready-yet operations.
0.3.1
keep track of the original generator function for debugging
Merge pull request #19 from jlongster/master

keep track of the original generator function for debugging
add function that helps with callback scheduling
fix expanding reduction
fix gathering reduction
fix incorrect handling of multiple pending puts when closing
fix incorrect handling of multiple pending takes when closing
fix incorrect handling of expanding completion when closing
replace remaining direct uses of dispatch.run by schedule
Merge branch 'fix-mutable-closure-gotcha' (fixes #22)
0.3.2
remove arguments option in `go`
errors
add macros for nicer syntax
Merge branch 'macros'