Added a random option to generating UUIDs based on recent work done in Spring Messaging to generate message ids. Also added a horserace test to make sure that time-based UUID generation isn't any slower than random generation.
Added helper methods to Promises and Streams to make it more succinct to create Deferreds.

In code, it's common to need to create lots of Promises using a standard pattern:

    Deferred<T, Promise<T>> deferred = Promises.<T>defer().env(env).dispatcher(dispatcher).get();

It's a little less code noise to condense that down into:

    Deferred<T, Promise<T>> deferred = Promises.<T>defer(env, dispatcher);

    ...or even...

    Deferred<T, Promise<T>> deferred = Promises.<T>defer(env);

The problem is most noticable when expanding the T to real types, particularly if those types are also generic. That means you have multiple nested generics signatures just for the deferred, with the T repeated, which gets messy pretty quickly. Anything we can do to cut down on the noise is a Good Thing.