完成 es6-promise 功能，文档后续补上

我的对 cast 的理解是，将任何对象转化为当前 Promise 类的一个实例。thenable 也会被包装为一个 Promise 类实例。
最终会返回标准的 Promise 实例。

针对 all 和 race，是做了些优化，这些优化没有再经过cast。 当然这个内部实现不符合目前的的草案，需要权衡下。
我觉得如果最终的效果和标准是一致的，即可；如果可能导致不一致的情况，以标准效果为准。