add license file
remove unnecessary `undefined` check
add promises-aplus tests