Change lib/legendary.js to be main
Ensure Promise#then() stub can be called as a free function
Simplify thenable adoption in ResolutionPropagator

Assume the resolve and reject methods guard against repeat callbacks.
Fix forked promises not cancelling once callbacks are added

Adding callbacks to the forked promise caused the ResolutionPropagator to change the cancellation handler, without setting up a working replacement.