Composable continuations

These commits implement the shift/reset operators for delimited (AKA composable) continuations to the best of my understanding.  The implementation is purely in terms of non-delimited continuations (call/cc).  There's been some discussion on the mailing list and elsewhere (e.g. http://okmij.org/ftp/continuations/against-callcc.html) which suggests that this is impossible to do correctly.  Although that may be true, I've been unable to come up with a test that breaks it, so I'd like to get this into master so people can start using it and tell me specifically what's wrong with it.