Add tests of `Ten.Promise` object
Add tests of timing of calling callback function
Change restriction on initializing of `Ten.Promise` object

- before: promise which waits for promise internally can't receive another
      value, and can't wait for another promise internally
- after: such promise can be fulfilled by another value, and can wait for
      multiple promise internally

This specification corresponds to `WinJS.Promise` implementation