(#151) - promise code cleanup

We got called out [on Twitter](https://twitter.com/lancejpollard/status/462279390378729472), and I always take stuff like this personally.  :smiley: 

Hopefully the new code is a bit easier to read.  I also went ahead and commented it, because although I know I understand it now, in the future I may forget what the hell a `kvDoc` is.