Avoid hiding assertion failures in `teardown`.

We don’t need to use a generalized `eventually` which listens for assertion errors in teardown, as we know what we are waiting for.
Added more specs from promises-aplus and made Promise compatible.