My implementation of promise. Base on commonjs spec, it is going to be improved when i dig into ES6 spec.