Switch to become a ES7 async/await-style generator function wrapper

better version of https://github.com/tj/co/pull/134. now it's future-proof with async/await, and i also got 100% coverage!

only issue is that the browser is now required to have a Promise implementation, so we run into the same https://github.com/tj/co/issues/149 problem, but i don't think we should bother solving that because if a platform supports generators, it'll support promises as well.

i'll update the examples, readme, and wiki if we decide to merge this. this would be v4

issue bookkeeping: closes #149 closes #143 closes #133 closes #136 closes #131 closes #81