Clean up promises code some more.

I cleaned up some unnecessary code in the promises changes.  I'm happy to discuss any of these changes.  @jdfreder, can you look at this?

(I think probably the previous code is technically correct, but it's overly complicated)
oh good.  when I wrote it, I was going to ask you about that; thanks for catching it.