Significant updates, bug fixes, javadoc on Stream, Promise, and their tests.

- Refined the separation of producer and consumer around Deferred, Stream, and Promise.
- Removed some methods from Reactor that involved a "map" function between a Reactor and a Stream. The implementation as it was didn't account for the common uses of Reactor where no replyTo is set on the Event so the "map" operation would never complete. This functionality should be implemented in an EventStream class whose job it is to make sure that events can be propagated through a stream in a fashion similar to the FSM implementation.
- Fixed Stream tests to reflect recent API changes.
- Got halfway through the Promise tests, changing them to reflect recent API changes.