Correct a bug in Promise; if the initial call to fulfill() is passed a thenable, that thenable was not being flattened.