Allow all-Orchestration on Promises

Hi, we have extended you library with ability to combine the promises with a all-Method, like in JS-Frameworks (e.g. AngularJS).

Examples:
```java
Promise p1 = ....
Promise p2 = ....
Promise.all(p1, p2).then(....)
```
or with timeout:
```java
Promise p1 = ....
Promise p2 = ....
Promise.all(1000 /*timeout in ms*/, p1, p2).then(....)
```

It would be great if you accept these changes and publish a new version to maven central
This will be executing a timeout thread using the Executor, if I'm not mistaken. If you want it to work properly with Vert.x, you will have to pass in Vert.x and specify a new Scheduler implementation that uses Vert.x