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

https://github.com/domenic/promises-unwrapping/issues/86

`cast`的实现似乎还不确定：

1. 是否允许非`Promise`但有`then`方法的对象进来
2. 如果进来一个`Promise`的子类的实例，会怎么样

http://esdiscuss.org/topic/promise-cast-and-promise-resolve

另外从这里看，`Promise.cast`用于`all`和`race`，因此应该保持行为一致，让`all`和`race`可以直接调用