do not copy methods. thunkify => yieldly

This PR does 2 things:

1. replace thunkify with yieldly (https://github.com/matthewmueller/yieldly)

Yieldly conditionally thunkifies functions depending on if a function was passed as the last argument or not. This allows us to support both generators and functions.

2. No longer copying methods and returning a new result

This breaks modules that add additional methods to leveldb, like `sublevel`.