Added ability for callbacks to poll promises for fulfillment value

This will allow a callback native to libgit2 to actually have a promise value be returned in the callback eventually. We'll be able to not pause the JS thread while we wait for authentication or any other callback that is triggered from the V8 side.
We need to return Promises within the tests